awk在linux终端输出类似于表格或类似excel的列?

时间:2012-09-17 12:00:53

标签: bash awk terminal multiple-columns

我做了一个很长的管道,在Linux终端中以...| awk '{print $5"\t\t" $3"\t"$4}'结束。列用标签填充。第一列条目具有不同的字符数,因此第二列结果不是完全垂直的。如何让桌子看起来很完美?

enter image description here

2 个答案:

答案 0 :(得分:24)

尝试将结果传递给列-t:

...| awk '{print $5"\t\t" $3"\t"$4}'|column -t

希望有所帮助

答案 1 :(得分:6)

如果您的字段是制表符分隔符,则以下一行脚本可以打印带有单元格边框的表

sed -e 's/\t/_|/g' table.txt |  column -t -s '_' | awk '1;!(NR%1){print "-----------------------------------------------------------------------";}'

Description            |value                 |Comment
-----------------------------------------------------------------------
Internal               |322                   |
-----------------------------------------------------------------------
External               |42515                 |
-----------------------------------------------------------------------