如何在Bash中对齐空格分隔表的列?

时间:2011-07-06 20:45:31

标签: linux bash

我有一个文件,其中任意数量的非对齐列用空格分隔。

我想对齐文件的列。

我查看了它看起来不合适的col命令。

我可以编写一个awk脚本,但似乎应该存在一个更明显的命令。

1 个答案:

答案 0 :(得分:41)

您可能希望column命令(通常使用--table / -t)生成基本的表格输出:

从手册页:

 -t, --table 
     

确定输入包含的列数并创建表。默认情况下,列使用空格分隔,或使用--output-separator选项提供的字符分隔。表输出对于漂亮打印非常有用。

column -t [file]

# or from stdin
cat file | column -t

# For a quick demonstration, format the output of mount
mount | column -t

column还有很多其他复杂的选项。 man column了解详情。