printf命令
文件過濾分割與合併
printf命令格式化並輸出結果到標準輸出。
語法
printf(選項)(參數) --:在線幫助; --version:顯示版本信息。
參數
輸出格式:指定數據輸出時的格式;
輸出字符串:指定要輸出的數據。
格式替代符
%b 相對應的參數被視爲含有要被處理的轉義序列之字符串。
%c ASCII字符。顯示相對應參數的第一個字符
%d, %i 十進制整數
%e, %E, %f 浮點格式
%g %e或%f轉換,看哪一個較短,則刪除結尾的零
%G %E或%f轉換,看哪一個較短,則刪除結尾的零
%o 不帶正負號的八進制值
%s 字符串
%u 不帶正負號的十進制值
%x 不帶正負號的十六進制值,使用a至f表示10至15
%X 不帶正負號的十六進制值,使用A至F表示10至15
%% 字面意義的%
轉義序列
\a 警告字符,通常爲ASCII的BEL字符
\b 後退
\c 抑制(不顯示)輸出結果中任何結尾的換行字符(只在%b格式指示符控制下的參數字符串中有效),而且,任何留在參數裏的字符、任何接下來的參數以及任何留在格式字符串中的字符,都被忽略
\f 換頁(formfeed)
\n 換行
\r 回車(Carriage return)
\t 水平製表符
\v 垂直製表符
\\ 一個字面上的反斜槓字符
\ddd 表示1到3位數八進制值的字符,僅在格式字符串中有效
\0ddd 表示1到3位的八進制值字符
實例
printf "hello world"
#!/bin/bash printf "%-5s %-10s %-4s\n" NO Name Mark printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456 printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345 printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323
%-5s 格式爲左對齊且寬度爲5的字符串代替(-表示左對齊),不使用則是又對齊。
%-4.2f 格式爲左對齊寬度爲4,保留兩位小數。