加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2023-09-26 15:30:40 所属栏目:Linux 来源:
导读:Linux常用命令printf 命令模仿 C 程序库(library)里的 printf() 程序,printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好,下面为大家分享一下Linux常用命令printf命令具体使用方法。
Linux常用命令printf 命令模仿 C 程序库(library)里的 printf() 程序,printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好,下面为大家分享一下Linux常用命令printf命令具体使用方法。
 
语法格式:
 
 # printf 格式 参数
 
实例
 
 [root@localhost ~]# printf "姓名:%s\n身高:%dcm\n体重:%dkg\n" "小明" "180" "75"
 
 姓名:小明
 
 身高:180cm
 
 体重:75kg
 
Linux中printf命令使用实例Linux中printf命令使用实例 "姓名:%s\n身高:%dcm\n体重:%dkg\n"是格式,"小明" "180" "75"是参数。格式包含了%s , %d都是格式转换符,%d对应的参数必须是十进制数。%s对应的参数必须是字符串。还包括了三个\n换行符,printf命令默认不会添加还行符号,需要手动添加。
 
常用的转义字符
 
\" – 转义后的双引号
 
\\ – 转义后的反斜杠
 
\b – 退格符
 
\n – 换行符
 
\r – 回车符
 
\t – 水平制表符
 
\v – 垂直制表符
 
%% – 单个%符号
 
常用的类型转换符
 
类型转换说明符是一个字符,用于指定如何解释相应的参数,该字符是必需添加的,以下是显示所有类型转换及其作用的列表:
 
%d – 将参数打印为十进制整数
 
%f – 将参数打印为浮点数
 
%s – 将参数打印为字符串
 
%x – 将参数打印为十六进制整数
 
%o – 将参数打印为八进制整数
 
实例
 
实例一
 
该例子使用%d,%x,%o将后面提供的参数转化为十进制、十六进制、八进制。
 
 [root@localhost ~]# printf "Decimal: %d\nHex: %x\nOctal: %o\n" 100 100 100
 
 Decimal: 100
 
 Hex: 64
 
 Octal: 144
 
实例二
 
下面例子使用%.2f,其中.2指参数保留两位小数,f将参数打印为浮点数。
 
 [root@localhost ~]# printf "%.2f\n" 3.1415926
 
 3.14
 
实例三
 
下面例子中使用了水平制表符\t。例子中给的参数超过了格式中给出的转换符的数量,多出的参数仍会按照格式输出。
 
 [root@localhost ~]# printf "%s \t %s \t %s\n" "姓名" "性别" "年龄" "小明" "男" "18" "小红" "女" "19" "小蓝" "男" "18"
 
 姓名   性别   年龄
 
 小明   男   18
 
 小红   女   19
 
 小蓝   男   18

实例四
 
实例中,%-10s , %-8d其中-表示靠左对齐,默认情况下是靠右对齐。10和8表示占用10或者8个字符宽度。\e[1,30;47m ..... \e[0m表示使用粗体字、黑色字体、白色背景,后面的\e[0,m表示重置。
 
 [root@localhost ~]# cat p.sh
 
 #!/bin/bash
 
 printf "\e[1;30;47m%-10s %-10s\e[0m\n" "姓名" "年龄"
 
 printf "\e[36;47m%-10s %-8d\e[0m\n" "小明" "18"
 
 printf "\e[31;47m%-10s %-8d\e[0m\n" "小红" "19"
 
 printf "\e[34;47m%-10s %-8d\e[0m\n" "小蓝" "19"
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章