|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

 

 

posted on   yanqi_vip  阅读(20)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示