shell:printf命令
printf是Linux中另一个输出命令,它的格式:
printf format-string [arguments...]
format-string: 为格式控制字符;
arguments: 为参数列表.
格式控制字符串中最常用的几个分别为:
%s:输出一个字符串
%d:输出一个整数
%c:输出一个字符
%f:输出一个实数,最常用格式4.2:格式为小数形式,.2表示保留几位小数
例子:
printf "%d %s" 4 abcdef
输出:
4 abcdef
printf "%d %s" 5.333 abcdef
输出:
5 abcdef
script.sh: line 2: printf: 5.333: invalid number
Exited with error status 1
printf "%4.6f %s" 5.1234 "abcdef"
输出:
5.123400 abcdef
printf "%4.6f %10s" 5.1234 "abcdef"
输出:
5.123400 abcdef
%10s:表示这个字符串占宽度10
%-10s:加-后表示让其左对齐,上面的例子没有加就代表右对齐;
printf "%4.6f %-10s" 5.1234 "abcdef"
输出:
5.123400 abcdef
printf 的转义序列
| 序列 | 说明 |
|---|---|
| \a | 警告字符,通常为ASCII的BEL字符 |
| \b | 后退 |
| \c | 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略 |
| \f | 换页(formfeed) |
| \n | 换行 |
| \r | 回车(Carriage return) |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \\ | 一个字面上的反斜杠字符 |
| \ddd | 表示1到3位数八进制值的字符。仅在格式字符串中有效 |
| \0ddd | 表示1到3位的八进制值字符 |
printf "%4.6f\n %-10s" 5.1234 "abcdef"
输出:
5.123400
abcdef

浙公网安备 33010602011771号