- 假设变量str="Hello World"
-
- [root@localhost ~]#printf "%s\n" "$str"
-
- Hello World
-
- #显示变量str的内容,且\n具有换行的效果.
- [root@localhost ~]#printf "%c\n" "$str"
- H
- #显示变量值的第一个字符
- [root@localhost ~]#printf "%s共有%d个字符\n" "$str" 11
- Hello World共有11个字符
- #显示str="Hello world"共有11个字符.
- [root@localhost ~]#printf "%9s\n" Hello!
- ___Hello!
- #显示9个字符长度的字符串(靠右对齐),不足9个字符的部分用空格符补齐,结果显示"___Hello!"(左方有3个空格符) [root@localhost ~]#printf "%-9s\n" Hello!
#显示9个字符长度的字符串(靠左对齐),不足9个字符的部分用空格符补齐,结果显示"Hello!___"
[root@localhost ~]#printf "%5.8f\n" 300
300.00000000
#在上述的字符串中,5.8中的5,表示含小数点共5位数,5.8中的8表示小数字数占用一位.
[root@localhost ~]#printf "%q\n" "$str"
"Hello\world"
#这里的%q参数是将特殊字符转义
[root@localhost ~]#printf -v myvar "%q" "ABC 123 XYZ"
#这里的-v是说:不显示到标准输出,而把想要显示的内容值给变量myvar.
#myvar变量为"ABC\123\XYZ"
[root@localhost ~]#printf "%b" "ABC\n123\nXYZ\n"
#%b是说,将特殊字符转义生效,也就是说字符串中的n会有换行效果
#结果如下:ABC
123
XYZ
[root@localhost ~]#printf "%s\n" "ABCDEFGHIJK"|tr A-Z a-z
#把字符串显示出来,通过管道交给tr,把大写字母转成小写.
#结果:显示abcdefghijk