cut命令用來顯示行中的指定部分凤跑,刪除文件中指定字段声功。cut經常用來顯示文件的內容,類似于下的type命令执桌。
說明:該命令有兩項功能鄙皇,其一是用來顯示文件的內容,它依次讀取由參數file所指 明的文件仰挣,將它們的內容輸出到標準輸出上伴逸;其二是連接兩個或多個文件,如cut fl f2 > f3將把文件fl和幾的內容合并起來膘壶,然后通過輸出重定向符“>”的作用错蝴,將它們放入文件f3中洲愤。
當文件較大時,文本在屏幕上迅速閃過(滾屏)顷锰,用戶往往看不清所顯示的內容柬赐。因此,一般用more等命令分屏顯示官紫。為了控制滾屏躺率,可以按Ctrl+S鍵,停止?jié)L屏万矾;按Ctrl+Q鍵可以恢復滾屏悼吱。按Ctrl+C(中斷)鍵可以終止該命令的執(zhí)行,并且返回Shell提示符狀態(tài)良狈。
語法
cut(選項)(參數)
選項
-b:僅顯示行中指定直接范圍的內容后添; -c:僅顯示行中指定范圍的字符;
-d:指定字段的分隔符薪丁,默認的字段分隔符為“TAB”遇西;
-f:顯示指定字段的內容;
-n:與“-b”選項連用严嗜,不分割多字節(jié)字符粱檀;
--complement:補足被選擇的字節(jié)、字符或字段漫玄;
--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
指定字段的字符或者字節(jié)范圍 cut命令可以將一串字符作為列來顯示隐孽,字符字段的記法:
N-:從第N個字節(jié)癌椿、字符、字段到結尾菱阵;
N-M:從第N個字節(jié)踢俄、字符、字段到第M個(包括M在內)字節(jié)送粱、字符褪贵、字段;
-M:從第1個字節(jié)、字符脆丁、字段到第M個(包括M在內)字節(jié)世舰、字符、字段槽卫。
上面是記法跟压,結合下面選項將摸個范圍的字節(jié)、字符指定為字段:
-b 表示字節(jié)歼培;
-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