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

Linux 'column'命令适用于带分隔符的文本文件

中显示带分隔符的文件Linux.终端,以便每个分隔项显示在其自己的列中。例如,下面是一个使用管道作为分隔符的English Premier League Football表示例。

pos团队| |骑士|分
1 |莱斯特| 31 | 66
2 |托特纳姆| 31 | 61
3 |阿森纳| 30 | 55
4 | | 30 | 51人
5 |西汉姆| 30 | 50
6 |男士UTD | 30 | 50
南安普顿7 | | | 31日47岁
8 |斯托克城| 31 | 46
9 |利物浦| 29 | 44
10 |切尔西| 30 | 41

这个列表包括排名前10的球队、他们的名字、他们参加的比赛次数和得分。

有几个Linux命令在命令行中显示数据。例如,猫命令将文件完全显示在文件中。的tail命令显示文件的一部分或其全部,头命令可以。但是,这些命令都不是以使其看起来不错的方式显示输出。

理想情况下,您希望能够在没有管道符号和间隔开的情况下看到数据。那是哪里列命令进来。

列命令的基本使用

不带参数的column命令如下所示:

列<文件>

这最适用于单词之间有空格的单词文件。与此联盟表格示例中的表格数据也不起作用。

输出如下:

pos|球队|pld|pts 2|托特纳姆b| 31 b| 61 4 b|曼城b| 30 b| 51 6 b|曼城b| 30 b| 50 8斯托克城b| 31 b| 46 10 b|切尔西b| 30 b| 41 1 b|莱斯特b| 31 b| 66 3 b|阿森纳b| 30 b| 55 5 b|西汉姆联队b| 30 b| 50 7 b|南安普顿b| 31 b| 47 9 b|利物浦b| 29 b| 44

Linux列基本输出

指定列宽度

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

列-c  

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

列甜leaguetable

在联赛表的情况下,除非所有列一定宽度,否则这效果不佳。要证明这一点,请更改联盟表文件,如下所示:

POS团队PLD PTS
1莱斯特31 66
2托特纳姆31 61
3阿森纳30 55
4人城市30人51
西汉姆5,30,50
6人UTD 30 50
7 SOON'ton 31 47
8斯托克31 46
9利物浦29 44
10 Chelsea 30 41

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

列-C10 Cemuetable

问题是文件中的数据看起来很好,所以尾部,头部,纳米或CAT命令可以以可接受的方式显示相同的信息。

Linux列命令宽度

使用列命令指定分隔符

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

列-s"|" -t 

-s switch允许您确定要使用的分隔符。例如,如果您的文件是逗号分隔,则可以在-s之后放置“。”。-T开关以表格格式显示数据。

Linux列输出

输出分离器

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

Linux默认是两个空格,但也许您想使用两个冒号来代替。下面的命令展示了如何指定输出分隔符:

列“|”-t -o“::”

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

POS ::团队:: PLD :: PTS
1 ::莱斯特:: 31 ::66
2 ::托特纳姆:: 31 ::61
3 ::阿森纳:: 30 ::55
4::man city::30::51
5::西汉姆5:30:50
6 ::男子UTD :: 30 ::50
7 ::南安普敦:: 31 ::47
8 ::斯托克城:: 31 ::46
利物浦::29::44
10 :: Chelsea :: 30 ::41

列之前填充行

还有另一个开关不是特别有用,而是包括在此处完整性。-X开关与-c交换机一起使用时填充列前的行。

那是什么意思?看看以下示例:

列c100 leaguetable

其输出如下:

如你所见,它先向下,然后穿过。

现在看这个例子:

列-C100 -X Cemuetable

这次输出如下:

POS |团队| PLD | PTS 1 |莱斯特| 31 | 31 | 66 2 |托特纳姆| 31 | 61 3 |阿森纳| 30 | 55 4 | Man City | 30 | 51 5 | West Ham | 30 | 50 6 |男士utd | 30| 50 7 |南安普顿| 31 | 47 8 |斯托克城| 31 | 46 9 |利物浦| 29 | 44 10 |切尔西| 30 | 41

数据跨越屏幕然后向下。

列之前的Linux列行

其他交换机

唯一可用的交换机如下:

列-V <文件>

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

列--help 

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

这个页面有用吗?