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