每天乙個Linux命令 grep

2021-07-31 05:10:39 字數 1582 閱讀 4644

grep

[options]主要引數:

-c:只輸出匹配行的計數。

-i:進行匹配時不區分大小寫(只適用於單字元)

-h:查詢多檔案時只輸出匹配的字元,不顯示檔名

-l:查詢多檔案時只輸出匹配字元的檔名

-l:查詢多檔案時只輸出不匹配字元的檔名

-n:顯示匹配行及 行號。

-s:不顯示不存在或無匹配文字的錯誤資訊。

-v:顯示不包含匹配文字的所有行。

-o:輸出精確匹配的字元而不是預設的整行,不能和-v 一起用

-w:只匹配整個單詞,而不是字串的一部分(如匹配』magic』,而不是』magical』)

-b: 除了顯示匹配的一行之外,並顯示改行之前的num行

-a: 除了顯示匹配的一行之外,並顯示改行之後的num行

-c: 除了顯示匹配的一行之外,並顯示改行之前後的num行

-e: 匹配多個字串 (大寫的e)

正規表示式:

標準字元類:

常用grep例項

多個檔案查詢

grep 「str」 *.doc

輸出匹配行的計數

grep -c 「str」 data.doc

顯示匹配的行以及行數

grep -n 「str」 data.doc

顯示非匹配的行

grep -v 「str」 data.doc

大小寫敏感匹配

grep -i 「ab」 data.doc

精準匹配

grep -o 「str」 data.doc

單詞匹配

grep -w 「str」 data.doc

多項匹配

grep -e 「str1|str2」 data.doc

正規表示式的應用

和 .的使用

grep 『[239].』 data.doc #輸出所有含有2或者3或者9 + 任意字元的行

grep 『[vv]ick』 data.doc #輸出所有含有vick或者vick的行

^ grep 『^[^48]』 data.doc #匹配行首不是48的行

¥ grep 『abc$』 data.doc #匹配行尾是abc的行

^¥(應該是美元符)

grep 『^..$』 data.doc #匹配只有兩個任意字元的行

{} grep 『abc』 data.doc #匹配滿足abcccc的行

\ grep 『192\.168\.0\.1』 data.doc #對特殊字元進行轉義

類名 grep 『5[[:upper:]][[:upper:]]』 data.doc #匹配以5開頭以兩個大寫字母結尾的行

未完待續

每天乙個linux命令(39) grep 命令

linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。...

每天乙個Linux命令

將我遇到的linux指令總結一下,不斷增加 1 sz和rz 一般來說,linux 伺服器大多是通過 ssh客戶端來進行遠端的登陸和管理的,使用 ssh登陸 linux ssh有關的兩個命令可以提供很方便的操作 sz 將選定的檔案傳送 send 到本地機器 rz 執行該命令會彈出乙個檔案選擇視窗,從本...

每天乙個linux命令

linux cmp命令 linux cmp命令用於比較兩個檔案是否有差異。當相互比較的兩個檔案完全一樣時,則該指令不會顯示任何資訊。若發現有所差異,缺省會標示出第乙個不同之處的字元和列數編號。若不指定任何檔名稱或是所給予的檔名為 則cmp指令會從標準輸入裝置讀取資料。語法cmp clsv i 字元數...