Linux:printf指令

学习自:Linux printf命令详解 - 面具下的戏命师 - 博客园

1、说明

用过C语言和Java的应该都知道printf这个格式化输出函数。

它也被整合为了Linux的一个指令,用于可以自定义格式化输出的内容。

与echo相比,echo输出后会换行,printf默认不会,如果有这个需要可以在输出内容中加\n来实现。

 

printf通常用在shell脚本中,配合awk实现格式化输出,详见:

Shell(1):awk - ShineLe - 博客园

2、用法

printf 格式化字符串 [参数1 参数2 ……]

实际表现为,会将参数1、参数2、……套入到中间的格式化字符串中,依次输出。

类似于

  for i in [参数1,参数2,……]

    printf 格式化字符串

例如

  

printf "%s\n" aa bb cc dd ee

aa
bb
cc
dd
ee

 

3、格式化字符串

输出类型:以%开头

输出类型     

说明

 

%c ASCII字符
%s 字符串(当只有一个%s时,相当于把后边参数做for循环输出;有多个%s则按顺序把后边的参数填到这些%s处)
%-ns 字符串(-表示左对齐,n表示输出几个字符)
%-ni 输出整数,n代表输出几个数字
%f 小数点右边的位数
%m.nf 浮点数,m代表全部位数,n代表小数位数
%b 如果参数中存在转义字符,可以使用该%b进行格式占位,后续输出时对应的转义字符会被转义
%d、%i 十进制整数
%o 不带正负号的八进制值
%u 不带正负号的十进制值
%x 不带正负号的十六进制值
%X 带正负号的十六进制值(不要据此认为%O和%U是带正负号的八进制和十进制)
%% 代表%自身

 

输出特殊格式(换行、占位):以\开头

输出格式

说明

\a 输出警告声音
\b 输出退格键
\f 清除屏幕
\n 换行
\r 回车
\t 水平输出TAB
\v 垂直输出TAB
\\0\\自身  

4、参数

参数如果是个文件,则会按行输出每行的处理结果

 

posted @ 2025-07-17 14:26  ShineLe  阅读(33)  评论(0)    收藏  举报