printf格式化输出

时间:2021-01-22 12:10:49

基本格式

printf [format] [文本1] [文本2] ..

 常用格式替换符

%s
字符串
%f
浮点格式
%c
ASCII字符,即显示对应参数的第一个字符
%d,%i
十进制整数
%o
八进制值
%u
不带正负号的十进制值
%x
十六进制值(a-f)
%X
十六进制值(A-F)
%%
表示%本身

常用转义字符

\a
警告字符,通常为ASCII的BEL字符
\b
后退
\f
换页
\n
换行
\r
回车
\t
水平制表符
\v
垂直制表符
\\
表示\本身

使用案例

[root@C ~]# printf "%s\n" 1 2 3 4
1
2
3
4

[root@C ~]# printf "%f\n" 1 2 3 4
1.000000
2.000000
3.000000
4.000000

[root@C ~]# printf "%.2f\n" 1 2 3 4
1.00
2.00
3.00
4.00

[root@C ~]# printf " (%s) " 1 2 3 4 ; echo ""
 (1)  (2)  (3)  (4)

[root@C ~]# printf "%s %s\n" 1 2 3 4
1 2
3 4

[root@C ~]# printf "%s %s %s\n" 1 2 3 4
1 2 3
4 

#“-” 表示左对齐,“10 10 4” 表示占的字符位数,不够空格补全 
[root@C ~]# printf "%-10s %-10s %-4s \n" 姓名 性别 年龄 皮特 男 18 南瓜 男 18   
姓名     性别     年龄
皮特     男        18   
南瓜     男        18