shell输出格式化
echo -e "one;two;thr ee ;f\t our\t " | awk -F';' '{gsub(" ","",$3);gsub(/^[ \t]+/,"",$4);print $3,$4}'
awk中使用gsub函数将字段中的空格去除,支持正则。
[admin@inc-dw-151-5 xuyuqin]$ du -sh ~/yunti_compare/hadoop_20111213/EnLog/10/*dat | awk -F '/home/admin/yunti_compare/hadoop_20111213/EnLog/10/' '{gsub(/[ \t]+/,"",$1); printf("%-20s %s\n",$1,$2)}' | sort -nr -k1
386M listcookie_fatdt0.dat
……
264M path_fatdt1.dat
76M referpage_fatdt0.dat
48M referpage_fatdt1.dat
……
……
上面命令在awk中使用printf对输出内容进行格式化。
Yorking Alan