【linux命令讲解大全】018.cut命令:文件内容显示与字段提取工具

2024-03-02 11:29:20 浏览数 (1)

cut命令:连接文件并打印到标准输出设备上

补充说明

cut命令用于显示行中的指定部分或删除文件中的指定字段。它可以用于显示文件的内容,类似于type命令。除此之外,cut命令还可以连接两个或多个文件,并将它们的内容输出到标准输出。

当文件较大时,在屏幕上快速滚动可能导致内容无法完全显示。为了控制滚屏,可以按下Ctrl S键停止滚屏,按下Ctrl Q键恢复滚屏。按下Ctrl C键可以终止命令执行并返回Shell提示符状态。

语法

代码语言:javascript复制
cut [选项] [参数]

选项

  • -b:仅显示行中指定直接范围的内容
  • -c:仅显示行中指定范围的字符
  • -d:指定字段的分隔符,默认为制表符
  • -f:显示指定字段的内容
  • -n:与-b选项连用,不分割多字节字符
  • --complement:补足被选择的字节、字符或字段
  • --out-delimiter=字段分隔符:指定输出内容的字段分隔符
  • --help:显示命令的帮助信息
  • --version:显示命令的版本信息

参数

文件:指定要进行内容过滤的文件

实例

例如有一个学生报表信息,包含No、Name、Mark和Percent:

代码语言:javascript复制
cat test.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98

使用-f选项提取指定字段(记忆方式:f代表fields):

代码语言:javascript复制
cut -f 1 test.txt
No
01
02
03

cut -f2,3 test.txt
Name Mark
tom 69
jack 71
alex 68

使用--complement选项提取指定字段之外的列(打印除第二列之外的列):

代码语言:javascript复制
cut -f2 --complement test.txt
No Mark Percent
01 69 91
02 71 87
03 68 98

使用-d选项指定字段分隔符:

代码语言:javascript复制
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

指定字段的字符或字节范围:

代码语言:javascript复制
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
 

0 人点赞