一、關(guān)于printf()函數(shù)
printf()函數(shù)是格式化輸出函數(shù), 一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息,一般是對(duì)輸出的結(jié)果進(jìn)行格式化。
printf()函數(shù)的調(diào)用格式為:
printf("<格式化字符串>", <參量表>)
printf (“格式化字符串”,區(qū)域1,區(qū)域2)
格式化字符串包括兩部分內(nèi)容:
1.一部分是正常字符, 這些字符將按原樣輸出
2. 另一部分是格式化規(guī)定字符, 以"%"開(kāi)始, 后跟一個(gè)或幾個(gè)規(guī)定字符,用來(lái)確定輸出內(nèi)容格式
參量表是需要輸出的一系列參數(shù), 其個(gè)數(shù)必須與格式化字符串所說(shuō)明的輸出參數(shù)個(gè)數(shù)一樣多, 各參數(shù)之間用","分開(kāi), 且順序一一對(duì)應(yīng), 否則將會(huì)出現(xiàn)意想不到的錯(cuò)誤。





二、awk結(jié)合printf()函數(shù)的應(yīng)用舉例
將操作系統(tǒng)的語(yǔ)言設(shè)置為英文
#? export LANG=en_US.UTF-8
# df -h | awk '{printf ("%12s\n",$1)}'
以12個(gè)字符串為格式,不夠的空格補(bǔ)足,右對(duì)齊

#? df -hT | awk '{printf ("%-12s\n",$1)}'
以12個(gè)字符串為格式,不夠的空格補(bǔ)足,左對(duì)齊

# df -hT | awk '{print $1"#"$5}'| awk -F "#" '{printf("%-40s%s\n",$1,$2)}'
以40個(gè)字符串為格式,不夠的空格補(bǔ)足,左對(duì)齊

# docker images
# docker images |awk 'NR > 1 { print $1":"$2}'
# docker images |awk 'NR > 1 { printf "%-40s%s\n",$1,$2}'



三、參考?
Linux awk命令
https://segmentfault.com/a/1190000020178452
shell中awk printf的用法
https://www.cnblogs.com/irockcode/p/6700135.html
shell 學(xué)習(xí)之printf 詳解
https://wiki.jikexueyuan.com/project/shell-learning/printf-explain-in-detail.html
shell文本過(guò)濾編程(五):awk之printf
https://blog.csdn.net/shallnet/article/details/38855089
Shell printf 命令
https://www.runoob.com/linux/linux-shell-printf.html