原文出处: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 |