Linux文字處理之grep文字過濾命令

2021-09-26 07:56:01 字數 1593 閱讀 7163

grep (縮寫來自globally search a regular expression and print)是一種強大的文字搜尋工具

它能使用特定模式匹配(包括正規表示式)搜尋文字,並預設輸出匹配行

unix的grep家族包括grep、egrep和fgrep,windows系統下類似命令findstr

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板

如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名,搜尋的結果被送到螢幕,不影響原檔案內容

grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態

如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果搜尋的檔案不存在,則返回2

我們利用這些返回值就可進行一些自動化的文字處理工作

grep   root   passwd搜尋全文中的root

grep ^root passwd搜尋全文中以root開頭的

grep root$ passwd搜尋全文中以root結尾的

grep -i root passwd忽略大小寫

grep -e "root|root" passwd同時匹配多個條件

*字元出現 [0- 任意次 ]

\?字元出現 [0-1 次 ]

\+字元出現 [1- 任意次 ]

\字元出現 [n 次 ]

| 字元出現 [ 最少出現 m 次,最多出現 n 次 ]

\字元出現 [0-n 次 ]

\字元出現 [ 至少 m 次 ]

\(xy\)\xy 關鍵字出現 [n 次 ]

.*關鍵字之間匹配任意字元

^ 關鍵字  尋找以什麼開頭的關鍵字

關鍵字 $ 尋找以什麼結尾的關鍵字

\< 關鍵字

關鍵字 \>

\< 關鍵字 \>

正規的 grep 不支援擴充套件的正規表示式子 , 豎線是用於表示」或」的擴充套件正規表示式元字元 , 正規的 grep 無法識別

加上反斜槓 , 這個字元就被翻譯成擴充套件正規表示式 , 就像 egrp,和grep -e 一樣

shell 文字處理之 grep

過濾來自乙個檔案或標準輸入匹配模式內容。除了grep外,還有egrep fgrep。egrep是grep的擴充套件,相當於grep e。fgrep相當於grep f,用的少。usage grep option pattern file 支援的正則 描述 e,extended regexp 模式是擴充...

linux文字處理工具之grep

常用的grep選項 c 只輸出匹配行的計數。這條有時候很有用,不需要再 wc l i 不區分大小寫 只適用於單字元 h 查詢多檔案時不顯示檔名。l 查詢多檔案時只輸出包含匹配字元的檔名。n 顯示匹配行及行號。s 不顯示不存在或無匹配文字的錯誤資訊。v 顯示不包含匹配文字的所有行。例子grep v s...

Linux 文字處理三兄弟之 Grep

對於使用linux系統的管理員來說,系統給我們返回的資訊有時候真的是太多了,然而我們往往想要得到的資訊僅僅是一部分,所以我們就需要一些編輯工具來對輸出的資料流進行過濾。對grep的介紹以及使用主要從下面幾個方向進行 1.什麼是grep?2.為什麼使用grep?4.如何使用grep?那麼就讓我們開始學...