printf,nl,echo这三个命令都是按一定格式输出自己想要的内容的命令,这三个命令的使用和掌握可以使我们的运维工作更上一层楼。从使用频率上来说,并不是经常使用的命令。
一,printf
此命令是格式化输出命令,格式化指的是按照自己定义的规则格式输出相应内容。可以看做是echo命令的超级加强版。
printf命令的帮助是 man printf,并不能使用printf –help,这一点需要注意。
%s 字符串
%f 浮点格式 (float double)
%cASCII字符,显示相对应的第一个字符
%d%i 十进制数
%o 十进制转换到不带正负的八进制
%u十进制转换到十进制
%x 十进制转换到十六进制
%%本身
f换页
n换行
r回车
t制表符
v垂直制表符
\本身
例如:将wo ai tian an men 按行打印输出到屏幕,分别以一个单词和两个单词为单位打印输出。
总的来说,这个命令的格式是:printf “要定义的格式 最终输出的方式” 要格式化的内容,并且是支持awk命令的哦
二,echo
前面也大概提到了 ,是printf的简化版本,主要是echo可以更快速的自定义输出颜色,例如下面这个脚本(检测主机是否在线的脚本):
主要使用的参数是 -e,表示echo可以处理特殊字符而不转义,除此之外,别的参数没有太多的实际用处。
三,nl
nl命令等于cat -n 命令
命令参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
-p 在逻辑定界符处不重新开始计算。
例如:nl -b a -n rz text.txt