在Linux中以列格式显示文件内容

Linux Column命令使用分隔文本文件

您可以在Linux终端中显示分隔文件,以便每个分隔项目都显示在其自己的列中。 例如,下面是一个使用管道作为分隔符的示例英格兰超级联赛足球桌。

1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | arsenal | 30 | 55 4 | man city | 30 | 51 5 | west ham | 30 | 50 6 | man utd | 30 | 50 7 |南安普敦| 31 | 47 8 |斯托克城| 31 | 46 9 |利物浦| 29 | 44 10 |切尔西| 30 | 41

这份名单包括排名前十的球队,他们的名字,他们的比赛数和得分。

有许多Linux命令可用于在命令行中显示数据。 例如, cat命令显示与文件中显示的文件完全相同的文件。 tail命令可以用来显示文件的一部分或全部,和head命令一样。 但是,这些命令都不会以使其看起来不错的方式显示输出。

理想情况下,您希望能够在没有管道符号的情况下查看数据并将其分开。 这是命令进来的地方。

列命令的基本用法

您可以运行不带任何参数的列命令,如下所示:

这最适合单词之间有空格的文件。 它在表格数据方面不如本联盟表格示例中的那样好。

输出如下:

|城市| 31 | 46 | 10 |切尔西| 30 | 41 1 |莱斯特| 31 | 66 3 |阿森纳| 30 | 55 5 |西部火腿| 30 | 50 7 |南安普敦| 31 | 47 9 |利物浦| 29 | 44

指定列宽

如果您知道列的宽度,则可以使用以下命令按列分隔列:

列-c

例如,如果您知道每列的宽度为20个字符,则可以使用以下命令:

列-c20

在联盟表的情况下,除非所有的列都有一定的宽度,否则这种方法效果不佳。 为了证明这一点,改变排名表如下:

后卫队队员1莱斯特31 66 2托特纳姆31 61 3阿森纳30 55 4曼城30 51 5西部火腿30 50 6曼联30 50 7索顿31 47 8斯托克31 46 9利物浦29 44 10切尔西30 41

现在通过使用下面的命令,你可以得到一个体面的输出:

列-c10 leaguetable

问题在于文件中的数据已经看起来很好,所以tail,head, nano或cat命令都可以以可接受的方式显示相同的信息。

使用列命令指定分隔符

在逗号,管道或其他分隔文件上使用column命令的最佳方式如下所示:

列-s“|” -t

-s开关可让您确定要使用的分隔符。 例如,如果你的文件是逗号分隔的,你可以在-s之后加上“,”。 -t开关以表格格式显示数据。

输出分隔符

到目前为止,这个例子已经展示了如何处理输入文件的分隔符,但是当数据显示在屏幕上时呢?

Linux的默认值是两个空格,但也许你想用两个冒号代替。 以下命令显示如何指定输出分隔符:

列-s“|” -至”::”

与联盟表文件一起使用时,该命令会生成以下输出:

pos :: team :: pld :: pts 1 :: leicester :: 31 :: 66 2 :: tottenham :: 31 :: 61 3 :: arsenal :: 30 :: 55 4 :: man city :: 30 :: 51 5 ::西部火腿:: 30 :: 50 6 ::曼彻斯特:: 30 :: 50 7 ::南安普敦:: 31 :: 47 8 ::斯托克市:: 31 :: 46 9 ::利物浦:: 29 :: 44 10 ::切尔西:: 30 :: 41

在列之前填充行

还有另一个开关并不特别有用,但为了完整而包含在这里。 与-c开关一起使用时,-x开关填充行之前的行。

那是什么意思? 看看下面的例子:

列-c100 leaguetable

其输出如下:

3 |阿森纳| 30 | 55 6 |曼联| 30 | 50 9 |利物浦| 29 | 44 1 |莱斯特| 31 | 66 4 |曼城| 30 | 51 7 |南安普敦| 31 | 47 10 |切尔西| 30 | 41 2 | tottenham | 31 | 61 5 |西部火腿| 30 | 50 8 |斯托克城| 31 | 46

正如你所看到的那样,它先下降然后下降。

现在看看这个例子:

列-c100 -x leaguetable

这次输出如下:

1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | arsenal | 30 | 55 4 | man city | 30 | 51 5 | west ham | 30 | 50 6 | man utd | 30 | 50 7 |南安普敦| 31 | 47 8 |斯托克城| 31 | 46 9 |利物浦| 29 | 44 10 |切尔西| 30 | 41

数据穿过屏幕然后向下。

其他开关

唯一可用的其他交换机如下所示:

列-V

这将显示您的计算机上安装的列的版本。

列 - 帮助

这将手册页面显示到终端窗口。