【shell】cut命令及常見用法
阿新 • • 發佈:2019-01-31
【背景】
cut是一個將文字按列進行劃分的文字處理工具。cut命令逐行讀入文字,然後按列劃分欄位並進行提取、輸出等操作。
【命令格式】
cut [option] filename
cat filename | cut [option]
可以看到,cut命令既可以用檔案作為引數也可以接受標準輸入。
【常見用法】
本次實驗所用的檔案text.txt的內容為:
11 Tom computer-science 4.0
12 Jack economic 3.8
13 Marry biology 3.9
14 Cherry mathematics 4.1
15 Jim chemistry 4.2
1.提取檔案中的人名
cut -d ' ' -f 2 text.txt
Tom
Jack
Marry
Cherry
Jim
其中,-f選項指定需要提取的欄位編號。2.提取多個欄位
(1)-f field_list:field_list為欄位列表,指定需要提取的欄位。
(2)-f N-:指從第N個欄位到行尾。
(3)-f N-M:指從第N個欄位到第M個欄位。
(4)-f -N:指從行首到第N個欄位。
3.設定定界符
cut的預設定界符是空格,但有些檔案的定界符不是空格,此時可以用-d選項設定定界符。
echo 1:2:3:4 | cut -d ':' -f 3
3
這裡設定了定界符為冒號,因此cut可以解析用冒號分隔的各個欄位。
4.按位元組/字元分割
cut命令最常見的-f選項按照欄位分割文字,其實cut還支援按照位元組或者字元分割文字。
(1)-c:按字元分割。
(2)-b:按位元組分割。
例如需要輸出檔案每一行的前兩個字元:
cut -c 1-2 text.txt
11
12
13
14
15