|NO.Z.00004|——————————|LinuxShell|——|Linux&Shell&字符截取和替换命令.V02|——|printf|
一、printf命令
### --- printf格式化输出
[root@localhost ~]# printf ‘输出类型输出格式’ 输出内容
~~~ 输出类型:
%ns: // 输出字符串。n 是数字指代输出几个字符
%ni: // 输出整数。n 是数字指代输出几个数字
%m.nf: // 输出浮点数。m 和 n 是数字,指代输出的整数位数和小数位数。如%8.2f代表共输出 8 位数,其中 2 位是小数,6 位是整数。
~~~ 输出格式:
\a: // 输出警告声音
\b: // 输出退格键,也就是 Backspace 键
\f: // 清除屏幕
\n: // 换行
\r: // 回车,也就是 Enter 键
\t: // 水平输出退格键,也就是 Tab 键
\v: // 垂直输出退格键,也就是 Tab 键
二、printf命令实验文件创建
### --- 为了演示 printf 命令,
### --- 我们需要修改下刚刚 cut 命令使用的 student.txt 文件,文件内容如下:
[root@localhost ~]# vim student.txt
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Tg 99 83 93 91.66
### --- 我们使用 printf 命令输出下这个文件的内容:
~~~ 注:晕菜,全变乱了一锅粥。这就是 printf 命令,
~~~ 如果不指定输出格式,则会把所有输出内容连在
~~~ 注:一起输出。
~~~ 其实文本的输出本身就是这样的,cat 等文本输出命令之所以可以按照格式漂亮的输出,
~~~ 注:那是因为 cat 命令已经设定了输出格式。
[root@localhost ~]# printf '%s' $(cat student.txt)
IDNamePHPLinuxMySQLAverage1Liming82958687.662Sc74968785.663Tg99839391.66[root@localhost ~]#
### --- 那么为了用 printf 输出合理的格式,应该这样做:
~~~ 注意在 printf 命令的单引号中,只能识别格式输出符号,而手工输入的空格是无效的
[root@localhost ~]# printf '%s\t %s\t %s\t %s\t %s\t %s\t \n' $(cat student.txt)
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Tg 99 83 93 91.66
### --- 如果不想把成绩当成字符串输出,而是按照整型和浮点型输出,则要这样:
[root@localhost ~]# printf '%i\t %s\t %i\t %i\t %i\t %8.2f\t \n'
0 0 0 0 0.00
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv008-shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通