格式
printf “指定的格式” “文本1” ”文本2“……
常用格式替换符
说明:%s 中的数字代表此替换符中的输出字符宽度,不足补空格,默认是右对齐,%-10s表示10个字符宽,- 表示左对齐
常用转义字符
\a 警告字符,通常为ASCII的BEL字符
\b 后退
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ 表示\本身
范例:
[root@server02 ~]# printf "%s\n" 1 2 3 4
1
2
3
4
printf "%f\n" 1 2 3 4
1.000000
2.000000
3.000000
4.000000
#.2f 表示保留两位小数
[root@server02 ~]# printf "%.2f\n" 1 2 3 4
1.00
2.00
3.00
4.00
[root@server02 ~]# printf "(%s)" 1 2 3 4;echo ""
(1)(2)(3)(4)
[root@server02 ~]# printf " (%s) " 1 2 3 4;echo ""
(1) (2) (3) (4)
[root@server02 ~]# printf "%s %s\n" 1 2 3 4
1 2
3 4
[root@server02 ~]# printf "%s %s %s\n" 1 2 3 4
1 2 3
4
#%-10s 表示宽度10个字符,左对齐
printf "%-10s %-10s %-4s %s \n" 姓名 性别 年龄 体重 小明 男 20 70 小红 女 18 50
姓名 性别 年龄 体重
小明 男 20 70
小红 女 18 50
#将十进制的17转换成16进制数
[root@server02 ~]# printf "%X" 17
11
#将十六进制C转换成十进制
[root@server02 ~]# printf "%d\n" 0xC
12
[root@server02 ~]# VAR="Shan Hai Edu";printf "\033[31m%s\033[0m\n" $VAR
Shan
Hai
Edu
[root@server02 ~]# VAR="Shan Hai Edu";printf "\033[31m%s\033[0m\n" "$VAR"
Shan Hai Edu