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

2021-10-28 09:43 更新

cut

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

補(bǔ)充說(shuō)明

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

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

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

語(yǔ)法

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)容過(guò)濾的文件。

實(shí)例

例如有一個(gè)學(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ù)可以簡(jiǎn)單記憶為 --fields的縮寫(xiě)):

[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 命令可以將一串字符作為列來(lái)顯示,字符字段的記法:

  • N- :從第 N 個(gè)字節(jié)、字符、字段到結(jié)尾;
  • N-M :從第 N 個(gè)字節(jié)、字符、字段到第 M 個(gè)(包括 M 在內(nèi))字節(jié)、字符、字段;
  • -M :從第 1 個(gè)字節(jié)、字符、字段到第 M 個(gè)(包括 M 在內(nèi))字節(jié)、字符、字段。

上面是記法,結(jié)合下面選項(xiàng)將摸個(gè)范圍的字節(jié)、字符指定為字段:

  • -b 表示字節(jié);
  • -c 表示字符;
  • -f 表示定義字段。

示例

[root@localhost text]# cat test.txt
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz

打印第 1 個(gè)到第 3 個(gè)字符:

[root@localhost text]# cut -c1-3 test.txt
abc
abc
abc
abc
abc

打印前 2 個(gè)字符:

[root@localhost text]# cut -c-2 test.txt
ab
ab
ab
ab
ab

打印從第 5 個(gè)字符開(kāi)始到結(jié)尾:

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)