原文出处:https://www.cnblogs.com/Peter2014/p/7586928.html

延伸,awk中printf的用法:https://www.cnblogs.com/thefirstfeeling/p/5667053.html

基本格式

1
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

垂直制表符

\\

表示\本身

使用案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[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