中显示带分隔符的文件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
指定列宽度
如果您知道列的宽度,则可以使用以下命令按宽度分隔列:
列-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命令可以以可接受的方式显示相同的信息。
使用列命令指定分隔符
在逗号,管道或其他分隔文件上使用列命令的最佳方法如下:
列-s"|" -t
-s switch允许您确定要使用的分隔符。例如,如果您的文件是逗号分隔,则可以在-s之后放置“。”。-T开关以表格格式显示数据。
输出分离器
到目前为止,这个示例已经展示了如何使用输入文件的分隔符,但是当数据显示在屏幕上时该如何处理数据呢?
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
数据跨越屏幕然后向下。
其他交换机
唯一可用的交换机如下:
列-V <文件>
这将显示安装在计算机上的列的版本。
列--help
这将显示手动页面到终端窗口。