天天看點

Linux: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:顯示指令的版本資訊。      

參數

檔案:指定要進行内容過濾的檔案。

執行個體

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      

轉載于:https://www.cnblogs.com/Spiro-K/p/6361646.html

繼續閱讀