linux cut用法

【背景】

cut是一个将文本按列进行划分的文本处理工具。cut命令逐行读入文本,然后按列划分字段并进行提取、输出等操作。

【命令格式】

cut [option] filename
cat filename | cut [option]
可以看到,cut命令既可以用文件作为参数也可以接受标准输入。


【常见用法】

本次实验所用的文件text.txt的内容为:

11 Tom computer-science 4.0
12 Jack economic 3.8
13 Marry biology 3.9
14 Cherry mathematics 4.1
15 Jim chemistry 4.2
1.提取文件中的人名

cut -d ' ' -f 2 text.txt
Tom
Jack
Marry
Cherry
Jim
其中,-f选项指定需要提取的字段编号。

2.提取多个字段

(1)-f field_list:field_list为字段列表,指定需要提取的字段。

(2)-f N-:指从第N个字段到行尾。

(3)-f N-M:指从第N个字段到第M个字段。

(4)-f -N:指从行首到第N个字段。

3.设定定界符

cut的默认定界符是空格,但有些文件的定界符不是空格,此时可以用-d选项设定定界符。

echo 1:2:3:4 | cut -d ':' -f 3
3
这里设定了定界符为冒号,因此cut可以解析用冒号分隔的各个字段。


4.按字节/字符分割

cut命令最常见的-f选项按照字段分割文本,其实cut还支持按照字节或者字符分割文本。

(1)-c:按字符分割。

(2)-b:按字节分割。

例如需要输出文件每一行的前两个字符:

cut -c 1-2 text.txt
11
12
13
14
15

原文地址:https://www.cnblogs.com/klausage/p/14317256.html