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?那麼就讓我們開始學...