printf 命令 – shell 输出

printf 命令模仿 C 程序库(library)里的 printf() 程序。

printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n。

语法格式: printf [格式控制字符串] [参数]

常用参数

\a 警告字符,通常为ASCII的BEL字符
\n 换行
\r 回车
\0ddd 表示1到3位的八进制值字符
\ddd 表示1到3位数八进制值的字符。仅在格式字符串中有效

参考实例

字符串输出:

[root@xtuos.com ~]# printf "Hello, Shell\n"
Hello, Shell 

接下来,我来用一个脚本来体现printf的强大功能:

[root@xtuos.com ~]#
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876 

执行脚本,输出结果如下所示:

[root@xtuos.com ~]#
姓名     性别   体重kg
郭靖     男      66.12
杨过     男      48.65
郭芙     女      47.99 

%s %c %d %f都是格式替代符

%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中.2指保留2位小数。

格式控制字符串为双引号:

[root@xtuos.com ~]# printf "%d %s\n" 1 "abc" 

格式控制字符串为单引号:

[root@xtuos.com ~]# printf '%d %s\n' 1 "abc"  

没有引号也可以输出:

[root@xtuos.com ~]# printf %s abcdef 

原创文章,作者:云东方,如若转载,请注明出处:https://www.yundongfang.com/1498.html

(0)
上一篇 2021年3月18日 下午6:32
下一篇 2021年3月18日 下午6:38

相关推荐

  • Category: 4:磁盘管理

    losetup命令用来设置循环设备,查看回环设备的状态。循环设备可把文件虚拟成区块设备,籍以模拟整个文件系统, […]

    Linux命令 2021年3月19日
  • talk命令 – 用于与其他使用者对谈

    talk命令允许同一主机或不同主机上的两个用户进行交互式对话。talk命令在每个用户的显示器上打开发送窗口和接收窗口。这样每个用户在talk命令显示另一个用户正在输入的内容时能够在…

    Linux命令 2021年3月19日
  • gpg命令 – 加密工具

    gpg是加密和数字签名的免费工具,大多用于加密信息的传递。除了仅用密码加密外,gpg最大的不同是提供了“公钥/私钥”对。利用你的“公钥”别人加密信息不再需要告诉你密码,随时随地都能…

    Linux命令 2021年3月18日
  • lvmdiskscan命令 – 扫描可见LVM2所有设备

    lvmdiskscan命令的作用是可以在系统中为LVM物理卷扫描所有的SCSI、IDE磁盘、多种设备和其他块设备。 lvmdiskscan命令会扫描所有可见的LVM2设备,而LVM…

    Linux命令 2021年3月19日
  • killall5命令 – 向所有进程发送信号

    killall5是SystemV killall命令。它向所有进程发送一个信号,除了内核线程和它自己会话中的进程,所以它不会杀死运行脚本的shell。 语法格式:killall5 …

    Linux命令 2021年3月18日
  • redis-cli命令 – redis客户端管理工具

    Redis是一个开放源码(BSD授权)的内存数据结构存储,用作数据库、缓存和消息中介。同时是一个高性能的key-value数据库。 redis-cli命令是redis-server…

    Linux命令 2021年3月18日
  • rcconf命令 – Linux下运行等级服务配置工具

    rcconf命令是Debian Linux下的运行等级服务配置工具,用以设置在特定的运行等级下系统服务的启动配置。 语法格式: rcconf [参数] 常用选项: –h…

    Linux命令 2021年3月18日
  • Category: 6:网络通讯

    cu命令可连接另一台主机,并采用类似拨号终端机的接口工作,也可执行简易的文件传输作业。 语法格式:cu [参数 […]

    Linux命令 2021年3月19日
  • pvmove命令 – 移动物理盘区

    pvmove命令的作用是可以将源物理卷上的物理盘区移动到一个或多个其他的目标物理卷。 使用pvmove命令时可以指定一个源日志或卷。在这种情况下,只有逻辑卷使用的区才会被移动到目标…

    Linux命令 2021年3月19日
  • vgimport命令 – 导入卷组

    vgimport命令的作用是可以导入卷组。 从不同的系统移动导出物理卷之后,vgimport命令配合相应map文件可以让系统再次认出导出的卷组。 语法格式:vgimport [参数…

    Linux命令 2021年3月19日