文本处理工具printf命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本处理工具printf命令相关的知识,希望对你有一定的参考价值。
使用过c语言的程序员,应该很熟悉printf命令,printf命令模仿了c语言的printf( )函数printf命令的作用是按照我们指定的格式输出文本
输出文本命令echo和printf有什么区别
看到echo 命令是正常输出一个文本进行换行,而printf是输出文本进行不换行
[root@zhaocheng ~]# echo beijing
beijing
[root@zhaocheng ~]# printf beijing
beijing[root@zhaocheng ~]#
如果使用printf进行换行输出可以加
[root@zhaocheng ~]# printf "beijing
"
beijing
而printf这么麻烦,但为什么还有人一直在用,它真正的作用是能够格式化输出文本的能力
而打印的时候,echo -e可以使用
换行进行输出,而printf也可以加
换行输出,或者也可以加"%s
"进行输出
而printf的能力在处理多行进行换行的文本时明显是比较快,使用
的时候如果处理多1000个需要换行的,显示echo -e
力不从心,也就是%s这个是代替传入的参数,%s代替了命令中123,456,当我们使用%s
就会通过printf输出格式化成"abc
" 以此类推这样都进行将后面的进行格式化输出
[root@zhaocheng ~]# echo -e "123
456
789
aaa
bbb
ccc"
123
456
789
aaa
bbb
ccc
[root@zhaocheng ~]# printf "123
456
789
aaa
bbb
ccc"
123
456
789
aaa
bbb
[root@zhaocheng ~]# printf "%s
" 123 456 789 aaa bbb ccc
123
456
789
aaa
bbb
ccc
printf还支持多种替换符格式化类型
%s 字符串
%f 浮点格式
%b 相对应的参数中包含转义字符时,可以使用此替换符进行替换,对于的转义字符会被转义
%c ASCII字符,显示相对应参数的第一个字符
%d %i 十进制整数
%o 不带正负号的八进制值
%u 不带正负号的十进制值
%x 不带正负号的十六进制值,使用a至f表示10至15
%X 不带正负号的十六进制值,使用A至F表示10至15
%% 表示“%”本身
转义字符
printf常用的转义符
a 警告字符,通常为ASCLL的BEL字符
后退
c 抑制(不显示) 输出结果中任何结尾的转义字符,(只在%b格式指示符控制下的参数字符串中有效,而且任何留在参数里的字符,任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
f 换页
换行
回车
水平制表符
v 垂直制表符
一个字面上的反斜杠字符,仅在格式字符串中有效