Shell输出格式化


echo -e "one;two;thr ee  ;f\t our\t  " | awk -F';' '{gsub(" ","",$3);gsub(/^[ \t]+/,"",$4);print $3,$4}'

awk中使用gsub函数将字段中的空格去除,支持正则。

[root@www.bkjia.com]$ 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对输出内容进行格式化。

相关内容