cut
是用来截取文件或标准输入每行的某部分的。
使用 cut
的时候必须指定下面三个选项的其中一个:html
-b byte-list
根据字节截取-c character-list
根据字符截取-f field-list
根据段来就截取node
上面的三个参数 byte-list
character-list
field-list
是用逗号隔开的一个或多个数字和范围组成(用-
链接的范围)。字节、字符和段的其实位置都是1
,也能够不给出完成的范围:-m
等同于 1-m
; n-
等同于 n
到行尾。shell
例如要截取标准输入行的2-5
间的字符json
$ cut -b2-5 abcdefg #这里是标准输入 bcde
截取1-3
间的字符和第5
个字符code
$ cut -c1-3,5 abcdefg abce
固然也能够截取文件中的每一行htm
$ cat cut.txt James 23 Kobe 24 Wade 3 $ cut -c1-5 cut.txt James Kobe Wade
按段
截取,这里的段
是指每行用tab
制表符(默认)分隔的段。例如咱们要截取第二个段get
$ cat cut.txt James 23 Kobe 24 Wade 3 $ cut -f2 cut.txt 23 24 3
也能够指定分隔符,使用 -d
选项io
$ cat cut.txt James,23 Kobe,24 Wade,3 $ cut -d, -f1 cut.txt # 指定分隔符 , James Kobe Wade
当行中没有指定的分隔符时,能够使用 -s
选项来忽略处理此行class
$ 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