linux cut命令列印不包含某字元的命令怎麼寫?

時間 2022-01-17 16:42:15

1樓:會玩兒linux

cut命令詳解:補充說明說明:該命令有兩項功能,其一是用來顯示檔案的內容,它依次讀取由引數 file 所指明的檔案,將它們的內容輸出到標準輸出上;其二是連線兩個或多個檔案,如cut fl f2 > f3將把檔案 fl 和 f2 的內容合併起來,然後通過輸出重定向符「>」的作用,將它們放入檔案 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選項提取指定字段(這裡的 f 引數可以簡單記憶為 --fields的縮寫):

[root@localhost text]# cut -f 1 test.txt

No01

0203

[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

tomjack

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

abcabc

abcabc

abc列印前 2 個字元:

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

abab

abab

ab列印從第 5 個字元開始到結尾:

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

efghijklmnopqrstuvwxyz

efghijklmnopqrstuvwxyz

efghijklmnopqrstuvwxyz

efghijklmnopqrstuvwxyz

efghijklmnopqrstuvwxyz

會玩兒linux:Linux命令列大全

為什麼命令列介面(CLI)並未隨著命令列作業系統(如 DOS)的淘汰而消亡?

jasonlhy 命令列是獨立環境,容易自動化。你可以獨立調較環境變數,建構不同版本。最近電腦裝了 JDK 11,但很多程式又要用 JDK 8,如果不用命令列,你每次人手改也太. 我來抖個機靈 CLI是單反類相機 GUI是傻瓜相機 智慧型手機相機。那麼,單反被淘汰了嗎?如果被淘汰了,那些喜歡裝X的人...

為什麼 Windows 的命令列這麼難用?

2018 年了還在用 cmd?你也網上衝浪啊!你為什麼要用 CLI 呢?因為某些軟體沒有提供 GUI 版本。那你為什麼不問他們為什麼不提供 GUI 版本?因為做出來的 GUI 版本不好用。那你為什麼不問他們為什麼不做個好用的 GUI 版本? 不管powershell怎麼樣 很多命令相容bash沒錯 ...

如何在 linux 命令列下除錯 dotnet core 2 0?

瀉藥,不過這個我不會。但是我想說,你可以用VSCode,OmniSharp,Rider,Mono這麼多種工具和途徑,幹嘛非要吊死在命令列上呢 曹煥琦 差點忘了說瀉藥。贊同腦子有坑的回覆,不過我還是稍微仔細答一下吧,等上電腦了再詳細展開。仔細觀察一下會發現vscode的dotnet core debu...