cut命令
cut命令用來顯示行中的指定部分,刪除文件中指定字段。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:顯示指令的版本信息。
參數
文件:指定要進行內容過濾的文件。
實例
例如有一個學生報表信息,包含No、Name、Mark、Percent:
[root@localhost text]# cat test.txt No Name Mark Percent 01 tom 69 91 02 jack 71 87 03 alex 68 98
使用 -f 選項提取指定字段:
[root@localhost text]# cut -f 1 test.txt No 01 02 03 [root@localhost text]# cut -f2,3 test.txt Name Mark tom 69 jack 71 alex 68
--complement 選項提取指定字段之外的列(打印除了第二列之外的列):
[root@localhost text]# cut -f2 --complement test.txt No Mark Percent 01 69 91 02 71 87 03 68 98
使用 -d 選項指定字段分隔符:
[root@localhost text]# cat test2.txt No;Name;Mark;Percent 01;tom;69;91 02;jack;71;87 03;alex;68;98 [root@localhost text]# cut -f2 -d";" test2.txt Name tom jack alex
指定字段的字符或者字節范圍
cut命令可以將一串字符作為列來顯示,字符字段的記法:
- N-:從第N個字節、字符、字段到結尾;
- N-M:從第N個字節、字符、字段到第M個(包括M在內)字節、字符、字段;
- -M:從第1個字節、字符、字段到第M個(包括M在內)字節、字符、字段。
上面是記法,結合下面選項將摸個范圍的字節、字符指定為字段:
- -b 表示字節;
- -c 表示字符;
- -f 表示定義字段。
示例
[root@localhost text]# cat test.txt abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
打印第1個到第3個字符:
[root@localhost text]# cut -c1-3 test.txt abc abc abc abc abc
打印前2個字符:
[root@localhost text]# cut -c-2 test.txt ab ab ab ab ab
打印從第5個字符開始到結尾:
[root@localhost text]# cut -c5- test.txt efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz