grep — Linux中強大的文本搜尋工具

來源:互聯網
上載者:User

grep簡介

 

grep (global search regular expression and print out the line,全面搜尋Regex並把行列印出來)是一種強大的文本搜尋工具,它能使用Regex搜尋文本,並把匹配的行列印出來。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴充,支援更多的re元字元, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,Regex中的元字元表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強,可以通過-G、-E、-F命令列選項來使用egrep和fgrep的功能, egrep表示“grep -E”,fgrep表示“grep -F”。

 

grep的工作方式

grep的工作方式是這樣的,它在一個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔案名稱。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回一個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果搜尋的檔案不存在,則返回2。我們利用這些傳回值就可進行一些自動化的文本處理工作。

 

grep命令格式

grep [命令選項] Pattern File

除命令本身外,包含三部分,如果不帶任何命令選項,則輸出匹配Pattern的所有行(相當於-h參數,預設)

 

grep命令參數

-? 同時顯示匹配行上下的?行,如:grep -2 pattern filename同時顯示匹配行的上下2行

-c, --count 只列印匹配的行數,不顯示匹配的內容

-i, --ignore-case 忽略大小寫差別

-n, --line-number 輸出匹配行並顯示行號

-l, --files-with-matches 只列印匹配的行所在的檔案名稱,即只列印匹配模板的檔案清單。

-L, --files-without-match 列印不匹配模板的檔案清單。

-I, --binary-files=without-match 明確表明不搜尋二進位檔案,比如.tar檔案

-v, --revert-match 反檢索,只顯示不匹配的行。

-f File,--file=File 從檔案中提模數板。空檔案中包含0個模板,所以什麼都不匹配。

-d, --directories=行為 指定處理目錄的方式,可以是“read”、“recurse”或者“skip”

-D, --devices=行為 指定處理裝置檔案、管道檔案和通訊端檔案的方式,可以是“read”或者“skip”

-r, -R, --recursive 等同於 --directories=recurse

-b, --byte-offset 輸出匹配行並顯示位元組位移

-q, --quiet 取消顯示,只返回退出狀態。0則表示找到了匹配的行。

-s, --silent 不顯示關於不存在或者無法讀取檔案的錯誤資訊。

-w, --word-regexp 如果被/<和/>引用,就把運算式做為一個單詞搜尋。

-V, --version 顯示軟體版本資訊

 

        --include=模式 匹配指定的檔案將被檢查

        --exclude=模式 匹配指定的檔案將被略過

        --exclude-from=檔案 匹配指定中的模式的檔案將被略過

 

 

範例

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.