Shell常用命令之printf
在Shell编程中,printf是一个非常常用的命令,它可以用于格式化输出文本以及一些特殊字符,相比于echo命令,printf命令的输出更为精确,可以根据需要添加一些格式化选项。
基本语法
printf的基本语法如下:
printf format-string [arguments...]
其中,format-string是必需的参数,用于定义输出的格式,支持的格式化符号如下表:
格式化符号 | 说明 |
---|---|
%c | 字符 |
%d | 十进制整数 |
%e | 用科学计数法表示浮点数 |
%E | 用科学计数法表示浮点数,与%e作用相同 |
%f | 浮点数 |
%g | 使用%e或%f格式,取决于数值 |
%G | 使用%E或%f格式,取决于数值 |
%i | 整数,使用%d相同 |
%o | 八进制整数 |
%s | 字符串 |
%u | 无符号十进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%% | 输出%字符 |
除了格式化符号之外,printf还支持一些控制选项,如下表所示:
控制选项 | 说明 |
---|---|
- | 左对齐 |
+ | 在正数前面显示+符号 |
space |
正数前面加空格,负数前面加-号 |
# | 强制将输出转换为另一种进制(例如%o、%x等),并在前面添加0、0x等 |
0 | 数字前面补0,而不是默认的空格 |
.num | 小数位数为num |
* | 通过传递额外参数来指定字段宽度 |
示例
以下是一些printf命令的使用示例:
# 输出Hello World
printf "Hello World\n"
# 打印数字和字符串
printf "%d %s\n" 100 "Hello Shell!"
# 使用控制选项格式化输出
printf "%-5s %-10s %-4s\n" No Name Mark
printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456
printf "%-5s %-10s %-4.2f\n" 2 James 90.9989
printf "%-5s %-10s %-4.2f\n" 3 Jeff 77.564
# 输出颜色文本
Red='\033[0;31m'
Green='\033[0;32m'
Yellow='\033[0;33m'
NC='\033[0m' # No Color
printf "${Red}Red Text${NC} Normal Text\n"
printf "${Green}Green Text${NC} Normal Text\n"
printf "${Yellow}Yellow Text${NC} Normal Text\n"
上述示例中,可以看到不同的格式化选项和控制选项是如何用于控制输出格式和字段宽度的。
总结
printf是一个非常常用的Shell命令,可以用于格式化输出文本和一些特殊字符。通过学习printf的格式化符号和控制选项的使用,可以更加灵活地控制输出格式和字段宽度。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:shell常用命令之printf - Python技术站