千家信息网

如何使用printf命令处理文本?

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,使用过c语言的程序员,应该很熟悉printf命令,printf命令模仿了c语言的printf( )函数printf命令的作用是按照我们指定的格式输出文本看到echo 命令是正常输出一个文本进行换行,而
千家信息网最后更新 2026年11月02日如何使用printf命令处理文本?

使用过c语言的程序员,应该很熟悉printf命令,printf命令模仿了c语言的printf( )函数

printf命令的作用是按照我们指定的格式输出文本

看到echo 命令是正常输出一个文本进行换行,而printf是输出文本进行不换行

[root@zhaocheng ~]# echo beijingbeijing[root@zhaocheng ~]# printf beijingbeijing[root@zhaocheng ~]# 


如果使用printf进行换行输出可以加\n

[root@zhaocheng ~]# printf "beijing\n"beijing

而printf这么麻烦,但为什么还有人一直在用,它真正的作用是能够格式化输出文本的能力
而打印的时候,echo -e可以使用\n换行进行输出,而printf也可以加\n换行输出,或者也可以加"%s\n"进行输出


而printf的能力在处理多行进行换行的文本时明显是比较快,使用\n的时候如果处理多1000个需要换行的,显示echo -e \n 力不从心,也就是%s这个是代替传入的参数,%s代替了命令中123,456,当我们使用%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 ccc123456789aaabbbccc

printf还支持多种替换符格式化类型
%s 字符串
%f 浮点格式
%b 相对应的参数中包含转义字符时,可以使用此替换符进行替换,对于的转义字符会被转义
%c ASCII字符,显示相对应参数的第一个字符
%d %i 十进制整数
%o 不带正负号的八进制值
%u 不带正负号的十进制值
%x 不带正负号的十六进制值,使用a至f表示10至15
%X 不带正负号的十六进制值,使用A至F表示10至15
%% 表示"%"本身

转义字符
printf常用的转义符
\a 警告字符,通常为ASCLL的BEL字符
\b 后退
\c 抑制(不显示) 输出结果中任何结尾的转义字符,(只在%b格式指示符控制下的参数字符串中有效,而且任何留在参数里的字符,任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ 一个字面上的反斜杠字符,仅在格式字符串中有效
\0ddd 表示1-3位的八进制值字符

比如为每个传入的参数添加一对括号,并且括号内测需要有空格

[root@zhaocheng ~]# printf "[%s] " 12 45 67 78 89  ; echo ""[12] [45] [67] [78] [89] [root@zhaocheng ~]# printf "[ %s ] " 12 45 67 78 89  ; echo ""[ 12 ] [ 45 ] [ 67 ] [ 78 ] [ 89 ] 

使用\t参数"制表符"进行隔开

[root@zhaocheng ~]# printf "%s\t" 12 45 67 78 89 ; echo ""12      45      67      78      89 

使用\n是换行输出,%f\n浮点型参数输出

[root@zhaocheng ~]# printf "%s\n" 123 45 5676 7612345567676[root@zhaocheng ~]# printf "%f\n" 123 45 5676 76123.00000045.0000005676.00000076.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 9912 4567 7889 99[root@zhaocheng ~]# printf "%s %s %s\n" 12 45 67 78 89 9912 45 6778 89 99[root@zhaocheng ~]# printf "%s %s %s %s\n" 12 45 67 78 89 9912 45 67 7889 99  [root@zhaocheng ~]# printf "%s %s %s %s %s\n" 12 45 67 78 89 9912 45 67 78 8999    [root@zhaocheng ~]# printf "%s %s %s %s %s %s\n" 12 45 67 78 89 9912 45 67 78 89 99[root@zhaocheng ~]# printf "12 45 67 78 89 99\n"12 45 67 78 89 99


使用printf 同样也可以进行颜色输出

也可以加入特定的数字,%7s 7表示当前替换符对应的输出宽度为7个字符宽

字符 输出 格式 参数 转义 命令 文本 字符串 正负 制表符 制表 处理 有效 作用 八进制 十六进制 十进制 括号 时候 浮点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 精品咖啡豆 美国互联网保险保险科技 互联网科技公司的优势 互联网科技垄断 互联网络科技有限公司 掌上梦互联网科技 常德市电业局互联网科技部 互联网为啥属于高科技 互联网还是高科技吗 互联网保险科技创业 西安小鹰速贷互联网科技有限公司 保险科技服务互联网营销体系 华中科技大学互联网的牛人 互联网科技包装股份有限公司上市 云鲸互联网络科技有限公司 唯美互联网科技 兰石爱特工业互联网科技分公司 保山互联网科技靠谱吗 广州三三互联网科技有限公司 优雇互联网科技有限公司 瑰夏咖啡 互联网科技企业 百单网互联网科技有限公司 河南真二互联网科技有限公司 齐家互联网科技有限公司 深圳前海聚择互联网科技有限公司 剑昆互联网络科技有限公司临桂 北京华百购互联网科技有限公司 锡山区互联网智能科技产品供应 东营紫格互联网科技
0