cut命令用于显示行中的指定部分或删除文件中的指定字段。它可以用于显示文件的内容,类似于type命令。除此之外,cut命令还可以连接两个或多个文件,并将它们的内容输出到标准输出。
当文件较大时,在屏幕上快速滚动可能导致内容无法完全显示。为了控制滚屏,可以按下Ctrl+S键停止滚屏,按下Ctrl+Q键恢复滚屏。按下Ctrl+C键可以终止命令执行并返回Shell提示符状态。
cut [选项] [参数]
-b
:仅显示行中指定直接范围的内容-c
:仅显示行中指定范围的字符-d
:指定字段的分隔符,默认为制表符-f
:显示指定字段的内容-n
:与-b
选项连用,不分割多字节字符--complement
:补足被选择的字节、字符或字段--out-delimiter=
字段分隔符:指定输出内容的字段分隔符--help
:显示命令的帮助信息--version
:显示命令的版本信息文件:指定要进行内容过滤的文件
例如有一个学生报表信息,包含No、Name、Mark和Percent:
cat test.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98
使用-f
选项提取指定字段(记忆方式:f
代表fields
):
cut -f 1 test.txt
No
01
02
03
cut -f2,3 test.txt
Name Mark
tom 69
jack 71
alex 68
使用--complement
选项提取指定字段之外的列(打印除第二列之外的列):
cut -f2 --complement test.txt
No Mark Percent
01 69 91
02 71 87
03 68 98
使用-d
选项指定字段分隔符:
cat test2.txt
No;Name;Mark;Percent
01;tom;69;91
02;jack;71;87
03;alex;68;98
cut -f2 -d";" test2.txt
Name
tom
jack
alex
指定字段的字符或字节范围:
cat test.txt
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
cut -c1-3 test.txt
abc
abc
abc
abc
abc
cut -c-2 test.txt
ab
ab
ab
ab
ab
cut -c5- test.txt
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz