欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux - 格式化输出命令 printf

程序员文章站 2022-07-15 09:27:02
...

格式化输出命令 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
[[email protected] cut]# printf %s 1 2 3 4 5 6
123456[[email protected] cut]#
实例:操作输出 printf %s %s %s 1 2 3 4 5 6
[[email protected] cut]# printf %s %s %s 1 2 3 4 5 6
%s%s123456[[email protected] cut]#
这种结果,不是我们要的。
实例:操作输出 printf ‘%s %s %s’ 1 2 3 4 5 6
[[email protected] cut]# printf '%s %s %s' 1 2 3 4 5 6
1 2 34 5 6[[email protected] cut]#
这个时候,有点样子了,但还是不是我们要的
实例:操作输出 printf ‘%s %s %s\n’ 1 2 3 4 5 6
[[email protected] cut]# printf '%s %s %s\n' 1 2 3 4 5 6
1 2 3
4 5 6
[[email protected] cut]#
这才是我们要的结果!
实例:使用printf输出score.txt文件 printf ‘%s’ student.txt
[[email protected] cut]# printf '%s' score.txt
score.txt[[email protected] cut]#
这种结果不是我们要的,我们本该输出的是内容。
实例:使用printf输出score.txt的文本内容
[[email protected] cut]# printf '%s' $(cat score.txt)
IdNameGenderScore1zhangsanM902lisiM883wangwuM984zhaoliuN975NangongYiM100[[email protected] cut]#
注意:输出文本内容,你需要将文本内容获取,然后,赋给一个变量,这样,printf才可以对其进行操作。
实例:格式化很漂亮滴输出score.txt文本内容
[[email protected] cut]# printf '%s\t%s\t%s\t\n' $(cat score.txt)
[[email protected] 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
[[email protected] cut]#
在awk命令的输出中,支持print和printf命令
1、print: print会在每个输出之后,自动加入一个换行符(Linux默认没有print命令)
2、printf: printf是标准格式输出命令,并不会手动加入换行符,如果需要换行,需要手工加入换行符
3、在Linux系统中,没有print命令。