cut
是用来截取文件或标准输入每行的某部分的。
使用 cut
的时候必须指定下面三个选项的其中一个:
-b byte-list
根据字节截取-c character-list
根据字符截取-f field-list
根据段来就截取
上面的三个参数 byte-list
character-list
field-list
是用逗号隔开的一个或多个数字和范围组成(用-
连接的范围)。字节、字符和段的其实位置都是1
,也可以不给出完成的范围:-m
等同于 1-m
; n-
等同于 n
到行尾。
例如要截取标准输入行的2-5
间的字符
$ cut -b2-5
abcdefg #这里是标准输入
bcde
截取1-3
间的字符和第5
个字符
$ cut -c1-3,5
abcdefg
abce
当然也可以截取文件中的每一行
$ cat cut.txt
James 23
Kobe 24
Wade 3
$ cut -c1-5 cut.txt
James
Kobe
Wade
按段
截取,这里的段
是指每行用tab
制表符(默认)分隔的段。例如我们要截取第二个段
$ cat cut.txt
James 23
Kobe 24
Wade 3
$ cut -f2 cut.txt
23
24
3
也可以指定分隔符,使用 -d
选项
$ cat cut.txt
James,23
Kobe,24
Wade,3
$ cut -d, -f1 cut.txt # 指定分隔符 ,
James
Kobe
Wade
当行中没有指定的分隔符时,可以使用 -s
选项来忽略处理此行
$ cat cut.txt
James,23
Kobe,24
Wade,3
NBA ALL STAR
# 不使用 -s
$ cut -d, -f1 cut.txt
James
Kobe
Wade
NBA ALL STAR
# 使用 -s
$ cut -d, -f1 -s cut.txt
James
Kobe
Wade
cut
往往在脚本中与管道结合起来使用是很方便的,例如要获取一个文件有多少行
$ wc -l config.json
7 config.json
# 如果只想要数字就可以这样写
$ wc -l config.json | cut -d' ' -f1
7
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。