printf命令手册
printf:格式和打印数据
功能描述
printf命令模仿了C语言中printf( )函数。
printf命令的作用是按照我们指定的格式输出文本。默认 printf 不会像 echo 一样自动添加换行符,需要我们手动添加 \n进行换行。
命令语法
printf [选项] [文本1] [文本2] ...
选项含义
选项 | 含义 |
---|---|
\a | 警告字符,通常为ASCII的BEL字符 |
\n | 换行 |
\r | 回车 |
\0ddd | 表示1到3位的八进制值字符 |
\ddd | 表示1到3位数八进制值的字符。仅在格式字符串中有效 |
参考实例
(1)字符串输出:
[root@cnLinuxer ~]# printf "Hello, World\n"
Hello, World
(2)使用格式替换符 "%s" 格式化输出:
[root@cnLinuxer ~]# printf "%s\n" a b c d
a
b
c
d
[root@cnLinuxer ~]# printf "%s %s \n" a b c d
a b
c d
[root@cnLinuxer ~]# printf "%s %s %s \n" a b c d e f
a b c
d e f
(3)接下来,我们用一个脚本来体现printf 的强大功能:
[root@cnLinuxer ~]# vim printf.sh
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 张三 男 59.5278
printf "%-10s %-8s %-4.2f\n" 李四 男 62.7323
printf "%-10s %-8s %-4.2f\n" 王五 女 49.8767
脚本执行结果,如下所示:
[root@cnLinuxer ~]# sh printf.sh
姓名 性别 体重kg
张三 男 59.53
李四 男 62.73
王五 女 49.88
%s %c %d %f都是格式替代符
%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
%-4.2f 指格式化为小数,其中.2指保留2位小数。
(4)给传入的a,b,c,d 添加一对“括号”
[root@cnLinuxer ~]# printf "( %s )" a b c d;echo ""
( a )( b )( c )( d )
有收获,点个在看
评论