Linux - 格式化输出命令 printf

格式化输出命令 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命令。

你可能感兴趣的:(Linux)