使用过c语言的程序员,应该很熟悉printf命令,printf命令模仿了c语言的printf()函数
printf命令的作用是按照我们指定的格式输出文本
<强>输出文本命令回声和printf有什么区别
看到回波命令是正常输出一个文本进行换行,而printf是输出文本进行不换行强>
<代码> [root@zhaocheng ~] #北京回声 北京 北京# printf (root@zhaocheng ~) 北京(root@zhaocheng ~) # 代码>
<强>
如果使用printf进行换行输出可以加\ n 强>
<代码> [root@zhaocheng ~] # printf“北京\ n” 北京代码>
<>强而printf这么麻烦,但为什么还有人一直在用,它真正的作用是能够格式化输出文本的能力
而打印的时候,echo - e可以使用\ n换行进行输出,而printf也可以加\ n换行输出,或者也可以加“% s \ n"进行输出强>
<强>
而printf的能力在处理多行进行换行的文本时明显是比较快,使用\ n的时候如果处理多1000个需要换行的,显示echo - e \ n力不从心,也就是% s这个是代替传入的参数,% s代替了命令中123456年,当我们使用% s \ n就会通过printf输出格式化成“abc \ n"以此类推这样都进行将后面的进行格式化输出强>
<代码> [root@zhaocheng ~] # echo - e“123 \ n456 \ n789 \ naaa \ nbbb \ nccc” 123 456 789 aaa bbb ccc (root@zhaocheng ~) # printf“123 \ n456 \ n789 \ naaa \ nbbb \ nccc” 123 456 789 aaa bbb (root@zhaocheng ~) # printf“% s \ n”123 456 789 aaa bbb ccc 123 456 789 aaa bbb ccc 代码>
printf还支持多种替换符格式化类型
% s字符串
% f浮点格式
% b相对应的参数中包含转义字符时,可以使用此替换符进行替换,对于的转义字符会被转义
% c ASCII字符,显示相对应参数的第一个字符
% d %我十进制整数
% o不带正负号的八进制值
% u不带正负号的十进制值
% x不带正负号的十六进制值,使用至f表示10至15
% x不带正负号的十六进制值,使用至f表示10至15
% %表示“%”本身
转义字符
printf常用的转义符
\警告字符,通常为ASCLL的贝尔字符
\ b后退
\ c抑制(不显示)输出结果中任何结尾的转义字符,(只在% b格式指示符控制下的参数字符串中有效,而且任何留在参数里的字符,任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
\ f换页
\ n换行
\ r回车
\ t水平制表符
\ v垂直制表符
\一个字面上的反斜杠字符,仅在格式字符串中有效
\ 0 ddd表示1 - 3位的八进制值字符
<强>比如为每个传入的参数添加一对括号,并且括号内测需要有空格强>
<代码> [root@zhaocheng ~] # printf“(% s)”12 45 67 78 89;回声”“ [12][45][67][78][89] root@zhaocheng ~ # printf”(% s)”12 45 67 78 89;回声”“ [12][45][67][78][89]代码>
<强>使用\ t参数”制表符”进行隔开强>
<代码> [root@zhaocheng ~] # printf“% s \ t”12 45 67 78 89;回声”“ 12 45 67 78 89 代码>
<强>使用\ n是换行输出,% f \ n浮点型参数输出强>
<代码> [root@zhaocheng ~] # printf“% s \ n”123 45 5676 76 123 45 5676 76 (root@zhaocheng ~) # printf“% f \ n”123 45 5676 76 123.000000 45.000000 5676.000000 76.000000 代码>
<强>
格式替换符的使用强>
<代码> [root@zhaocheng ~] # printf“% s \ n”12 45 67 78 89 99 12 45 67 78 89 99 (root@zhaocheng ~) # printf“% s % s \ n”12 45 67 78 89 99 12个45 67 78 89 99 (root@zhaocheng ~) # printf“% s % s % s \ n”12 45 67 78 89 99 12 45 67 78 89 99 root@zhaocheng ~ # printf”% s % s % s % s \ n”12 45 67 78 89 99 12 45 67 78 89 99 root@zhaocheng ~ # printf”% s % s % s % s % s \ n”12 45 67 78 89 99 12 45 67 78 89 99 root@zhaocheng ~ # printf”% s % s % s % s % s % s \ n”12 45 67 78 89 99 12 45 67 78 89 99 (root@zhaocheng ~) # printf“十二45 67 78 89 99 \ n” 12 45 67 78 89 99 代码>
<强>
使用printf同样也可以进行颜色输出强>