cut
檔案内容檢視
顯示行中的指定部分,删除檔案中指定字段
顯示檔案的内容,類似于下的type指令。
說明
- 該指令有兩項功能,其一是用來顯示檔案的内容,它依次讀取由參數file所指明的檔案,将它們的内容輸出到标準輸出上;其二是連接配接兩個或多個檔案,如cut fl f2 > f3将把檔案fl和幾的内容合并起來,然後通過輸出重定向符“>”的作用,将它們放入檔案f3中。
- 當檔案較大時,文本在螢幕上迅速閃過(滾屏),使用者往往看不清所顯示的内容。是以,一般用more等指令分屏顯示。
為了控制滾屏,可以按Ctrl+S鍵,停止滾屏;按Ctrl+Q鍵可以恢複滾屏。
按Ctrl+C(中斷鍵可以終止該指令的執行,并且傳回Shell提示符狀态。
文法
cut(選項)(參數)
選項
-b:僅顯示行中指定直接範圍的内容;
-c:僅顯示行中指定範圍的字元;
-d:指定字段的分隔符,預設的字段分隔符為“TAB”;
-f:顯示指定字段的内容;
-n:與“-b”選項連用,不分割多位元組字元;
--complement:補足被選擇的位元組、字元或字段;
--out-delimiter=<字段分隔符>:指定輸出内容是的字段分割符;
--help:顯示指令的幫助資訊;
--version:顯示指令的版本資訊。
參數
檔案:指定要進行内容過濾的檔案。
執行個體
1.例如有一個學生報表資訊,包含No、Name、Mark、Percent:
cat test.txt
No Name Mark Percent
01 tom 69 91
02 jack 71 87
03 alex 68 98
使用 -f 選項提取指定字段:
cut -f 1 test.txt
結果:
No
01
02
03
cut -f2,3 test.txt
結果:
Name Mark
tom 69
jack 71
alex 68
--complement 選項提取指定字段之外的列(列印除了第二列之外的列):
cut -f2 --complement test.txt
結果:
No Mark Percent
01 69 91
02 71 87
03 68 98
2.使用 -d 選項指定字段分隔符:
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
3.指定字段的字元或者位元組範圍
cut指令可以将一串字元作為列來顯示,字元字段的記法:
N-:從第N個位元組、字元、字段到結尾;
N-M:從第N個位元組、字元、字段到第M個(包括M在内)位元組、字元、字段;
-M:從第1個位元組、字元、字段到第M個(包括M在内)位元組、字元、字段。
上面是記法,結合下面選項将摸個範圍的位元組、字元指定為字段:
-b 表示位元組;
-c 表示字元;
-f 表示定義字段。
例:
cat test.txt
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
列印第1個到第3個字元:
cut -c1-3 test.txt
結果:
abc
abc
abc
abc
abc
列印前2個字元:
cut -c-2 test.txt
結果:
ab
ab
ab
ab
ab
列印從第5個字元開始到結尾:
cut -c5- test.txt
結果:
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
轉載于:https://www.cnblogs.com/Spiro-K/p/6361646.html