Linux命令 cut - 連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上

2021-10-28 09:43 更新

cut

連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上

補(bǔ)充說明

cut 命令 用來顯示行中的指定部分,刪除文件中指定字段。cut 經(jīng)常用來顯示文件的內(nèi)容,類似于 type 命令。

說明:該命令有兩項(xiàng)功能,其一是用來顯示文件的內(nèi)容,它依次讀取由參數(shù) file 所指 明的文件,將它們的內(nèi)容輸出到標(biāo)準(zhǔn)輸出上;其二是連接兩個或多個文件,如cut fl f2 > f3將把文件 fl 和 f2 的內(nèi)容合并起來,然后通過輸出重定向符“>”的作用,將它們放入文件 f3 中。

當(dāng)文件較大時,文本在屏幕上迅速閃過(滾屏),用戶往往看不清所顯示的內(nèi)容。因此,一般用 more 等命令分屏顯示。為了控制滾屏,可以按 Ctrl+S 鍵,停止?jié)L屏;按 Ctrl+Q 鍵可以恢復(fù)滾屏。按 Ctrl+C(中斷)鍵可以終止該命令的執(zhí)行,并且返回 Shell 提示符狀態(tài)。

語法

cut(選項(xiàng))(參數(shù))

選項(xiàng)

-b:僅顯示行中指定直接范圍的內(nèi)容;
-c:僅顯示行中指定范圍的字符;
-d:指定字段的分隔符,默認(rèn)的字段分隔符為“TAB”;
-f:顯示指定字段的內(nèi)容;
-n:與“-b”選項(xiàng)連用,不分割多字節(jié)字符;
--complement:補(bǔ)足被選擇的字節(jié)、字符或字段;
--out-delimiter= 字段分隔符:指定輸出內(nèi)容是的字段分割符;
--help:顯示指令的幫助信息;
--version:顯示指令的版本信息。

參數(shù)

文件:指定要進(jìn)行內(nèi)容過濾的文件。

實(shí)例

例如有一個學(xué)生報(bào)表信息,包含 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 選項(xiàng)提取指定字段(這里的 f 參數(shù)可以簡單記憶為 --fields的縮寫):

[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 選項(xiàng)提取指定字段之外的列(打印除了第二列之外的列):

[root@localhost text]# cut -f2 --complement test.txt
No Mark Percent
01 69 91
02 71 87
03 68 98

使用 -d 選項(xiàng)指定字段分隔符:

[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é)、字符、字段到結(jié)尾;
  • N-M :從第 N 個字節(jié)、字符、字段到第 M 個(包括 M 在內(nèi))字節(jié)、字符、字段;
  • -M :從第 1 個字節(jié)、字符、字段到第 M 個(包括 M 在內(nèi))字節(jié)、字符、字段。

上面是記法,結(jié)合下面選項(xiàng)將摸個范圍的字節(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 個字符開始到結(jié)尾:

[root@localhost text]# cut -c5- test.txt
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號