0%

cut命令

一、常用用法

1
cut [--delimiter=DELIM] [--complement] [-c | -f] RANGE [FILE]

二、含义与选项

2.1、含义

2.1.1、选择“-c”选项

未加“–complement”选项,表示打印“FILE”每行“RANGE”范围内的字符;加“–complement”选项,表示打印“FILE”每行“RANGE”范围外的字符,即是前者的补集。

2.1.2、选择“-f”选项

默认使用“TAB”字符作为字段分隔符,如果使用“–delimiter=DELIM”选项,那么使用“DELIM”字符作为字段分隔符。
未加“–complement”选项,表示打印“FILE”每行“RANGE”范围内的字段;加“–complement”选项,表示打印“FILE”每行“RANGE”范围外的字段,即是前者的补集。

2.2、选项表示的意思

“–delimiter=DELIM”:使用“DELIM”字符作为字段分隔符。需要注意的是,“DELIM”表示单字符,而不能是字符串。
“–complement”:表示打印“RANGE”范围外的内容。
“-c RANGE”:表示打印“RANGE”范围内的字符。
“-f RANGE”:表示打印“RANGE”范围内的字段。

三、“RANGE”构成

“RANGE”有以下4种基本构成元素。
1、N
表示第N个字符或者字段,从1开始计数。
2、N-
表示“第N个”到“行尾”范围内的字符或者字段,从1开始计数。
3、N-M
表示“第N个”到“第M个”范围内的字符或者字段,从1开始计数。
4、-M
表示“行首”到“第M个”范围内的字符或者字段,从1开始计数。

四、一些例子

以文件“a.txt”为实验素材,“a.txt”的内容如下:

1
2
3
hello (前面是一个空格字符)world
hello (前面是一个TAB字符)world
29817 29611 18:48 S ? /opt/google/chrome/chrome

4.1、例子1

执行以下命令:

1
cut -c 1-5 a.txt

得到如图1所示结果。

图1
这里写图片描述

4.2、例子2

执行以下命令:

1
cut -f 1 a.txt

得到如图2所示结果,注意默认是以“TAB”字符作为字段分隔符,只有第二行存在一个“TAB”字符。

图2
这里写图片描述

4.3、例子3

执行以下命令:

1
cut --delimiter=' ' -f 1 a.txt

得到如图3所示结果,注意现在是以“空格”字符作为字段分隔符,第一行和第三行都存在着“空格”字符。

图3
这里写图片描述

4.4、例子4

执行以下命令:

1
cut --complement -c 1-5 a.txt

得到如图4所示结果。

图4
这里写图片描述

您的支持将鼓励我继续分享!