linux命令之printf

本文介绍了Linux系统中的printf命令,包括其原理、与echo的区别,以及如何使用格式控制字符串和参数列表进行定制输出。通过实例演示了基本输出、脚本应用和格式异常处理。
摘要由CSDN通过智能技术生成

1.printf介绍

linux命令printf是linux的另外一个输出命令(其中一个为echo),其是模仿C程序库里的printf()程序。

由于printf是由POSIX(Portable Operating System Interface of UNIX)标准所定义,因此使用printf的脚本比使用echo移植性好。

printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf不会像echo自动添加换行符,我们可以手动添加\n。

2.printf用法

printf format-string [arguments...]

其中:

format-string:为格式控制字符串

format-string说明
%c输出一个字符
%d输出一个整数
%f输出float数
%s输出字符串
%b开启转义,后面输出字符串中若含有转义字符会进行转义
\n换行
\r回车
\t水平制表符
\\反斜杠字符

arguments:为参数列表

3.printf样例

3.1.printf基本输出

命令:

printf "Hello,ztj\n"

[root@kibana ~]# printf "Hello,ztj\n"
Hello,ztj
[root@kibana ~]# 

3.2.printf脚本样例

#!/bin/bash

printf "%-20s %-10s %-6s\n"  姓名 性别 体重kg  
printf "%-20s %-10s %-6.3f\n"  张三 男 88.8888
printf "%-20s %-10s %-6.3f\n"  李四 男 66.1234
printf "%-20s %-10s %-6.3f\n"  王五 女 49.2345
[root@kibana ~]# sh printf.sh 
姓名               性别     体重kg
张三               男        88.889
李四               男        66.123
王五               女        49.235
[root@kibana ~]#

其中:

%-20s 指一个宽度为20个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 20 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。%-10s亦然。

%-6.3f 指格式化为小数,其中.3指保留3位小数。

3.3.例外测试

-->printf "%s and %d \n"

如果没有arguments,那么%s用null代替,%d用0代替

[root@kibana ~]# printf "%s and %d \n"
 and 0 

-->printf "test:<%s>\n" "A\nB"

%s表示整个字符串

[root@kibana ~]# printf "test:<%s>\n" "A\nB"
test:<A\nB>
[root@kibana ~]# 

-->printf "test:<%b>\n" "A\nB"

%b表示开启转义,后面输出字符串中若含有转义字符会进行转义。即:A\nB中,A和B会换行显示

[root@kibana ~]# printf "test:<%b>\n" "A\nB"
test:<A
B>
[root@kibana ~]# 

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑要上天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值