cut 命令的使用

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

參考:GNU coreutils cut-invocation

相關文章
相關標籤/搜索