Linux:printf命令
阿新 • • 發佈:2022-05-16
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