格式化输出命令 printf
命令语法:
-printf ‘输出类型和格式’ 输出内容
输出类型:
-%ns 输出字符串,n是数字,代表输出几个字符
-%ni 输出整数,n是数字,代表输出几个数字
-%m.nf 输出浮点数,m和n是数字,指代输出的整数位和小数位的个数。如%8.2f表示整数位6位,小数位2位。
输出格式:
-\a : 输出警告声音
-\b : 输出退格键,就是Backspace键
-\f :清楚屏幕
-\n :换行
-\r : 回车,也就是Enter
-\t : 制表符,Tab键
-\v : 垂直输出退格键,也就是Tab键
实例:操作输出printf %s 1 2 3 4 5 6
[root@192 cut]# printf %s 1 2 3 4 5 6
123456[root@192 cut]#
实例:操作输出 printf %s %s %s 1 2 3 4 5 6
[root@192 cut]# printf %s %s %s 1 2 3 4 5 6
%s%s123456[root@192 cut]#
这种结果,不是我们要的。
实例:操作输出 printf ‘%s %s %s’ 1 2 3 4 5 6
[root@192 cut]# printf '%s %s %s' 1 2 3 4 5 6
1 2 34 5 6[root@192 cut]#
这个时候,有点样子了,但还是不是我们要的
实例:操作输出 printf ‘%s %s %s\n’ 1 2 3 4 5 6
[root@192 cut]# printf '%s %s %s\n' 1 2 3 4 5 6
1 2 3
4 5 6
[root@192 cut]#
这才是我们要的结果!
实例:使用printf输出score.txt文件 printf ‘%s’ student.txt
[root@192 cut]# printf '%s' score.txt
score.txt[root@192 cut]#
这种结果不是我们要的,我们本该输出的是内容。
实例:使用printf输出score.txt的文本内容
[root@192 cut]# printf '%s' $(cat score.txt)
IdNameGenderScore1zhangsanM902lisiM883wangwuM984zhaoliuN975NangongYiM100[root@192 cut]#
注意:输出文本内容,你需要将文本内容获取,然后,赋给一个变量,这样,printf才可以对其进行操作。
实例:格式化很漂亮滴输出score.txt文本内容
[root@192 cut]# printf '%s\t%s\t%s\t\n' $(cat score.txt)
[root@192 cut]# printf '%s\t%s\t%s\t%s\t\n' $(cat score.txt)
Id Name Gender Score
1 zhangsan M 90
2 lisi M 88
3 wangwu M 98
4 zhaoliu N 97
5 NangongYi M 100
[root@192 cut]#
在awk命令的输出中,支持print和printf命令
1、print: print会在每个输出之后,自动加入一个换行符(Linux默认没有print命令)
2、printf: printf是标准格式输出命令,并不会手动加入换行符,如果需要换行,需要手工加入换行符
3、在Linux系统中,没有print命令。