Linux命令(13)——cut命令

1.功能

以行为单位,选择性输出符合条件的内容到标准输出。cut是一个选取命令。

2.格式

cut <选项> <file>

3.命令选项

-b <输出范围>,--bytes=LIST:设置输出的字节数或范围
-c <输出范围>,--characters=LIST:设置输出的字符数或范围|
-d <分隔符>,--delimiter=DELIM:指定列(或字段)的分隔字符。默认分隔符是制表符Tab。只能和-f选项一起使用
-f <输出范围>,--fields=LIST:设置输出字段,默认字段分隔符是空格
-n:与命令选项-b一起使用,不分割宽字符
--complement:反向选择输出字节、字符或字段
-s,--only-delimited:若行没有分隔符,则不显示该行。此选项只能和-f选项一起使用
--output-delimiter=STRING:使用字符串作为输出分隔符,默认是输入分隔符
--help:显示帮助信息
--version:显示版本信息

注意:如果不指定文件,或者文件名为”-“,则cut从标准输入读取内容。

4.示例

(1)以字符为单位输出指定范围的字符。
首先使用cat命令显示原文本文件内容如下:

hello world
i am lvlv
i like linux

使用cut命令选择第3到第5个字符输出:

[b3335@MIC test]$ cut -c 3-5 testfile
llo
am 
lik

如果没有指定结束字符的位置,即cut -c 3- testfile,则输出第三个字符到最后一个字符。同样我们可以使用字节为单位来进行,如果文本文件是单字节编码的字符,那么cut -b 3-5 testfile等同于cut -c 3-5 testfile

(2)以字段为单位输出指定字段。
还是以上面的testfile为例,输出第二列和第三列的内容:

[b3335@MIC test]$ cut -d ' ' -f 2,3 lvlv
world
am lvlv
like linux

注意,因为第一行没有第三列,所以输出为空。

小结:
cut主要用途在于将同一行的数据进行分解、切割,最常使用在分析一些数据或文本数据的时候。这是因为有时候我们会以某些字符作为分隔的字符,然后将数据加以切割,以取得我们所需的数据。在分析log的时候,我们会经常用的到,不过cut在处理多个分隔符(如空格)相连的数据时,会有点问题。


参考文献

[1]man cut

你可能感兴趣的:(Linux命令)