grep 正規表示式搜尋

2021-10-13 10:49:15 字數 1627 閱讀 3207

下面總結一下平時工作中用到的正規表示式。

grep [options] [pattern] [file]
-a  : 不要忽略二進位制資料

-c  : 計算符合樣式的列數

-d 《動作》  : 當指定要查詢的是目錄而非檔案時,必須使用這項引數,否則grep指令將回報資訊並停止動作。

-e《範本樣式》: 指定字串做為查詢檔案內容的樣式

-e  : 將樣式為延伸的正規表示式來使用。

-i  : 忽略字元大小寫的差別。

-n  : 在顯示符合樣式的那一行之前,標示出該行的列數編號。

-r  :  recurse,遞迴,作用於該目錄下的所有子目錄及檔案。

-v, : --invert-match     反向匹配,接過濾不包含的

正規表示式字串代表匹配規則,一些特殊字元的含義如下:

^:匹配行開頭包括如下字元的行

example:匹配開頭是hello的行

grep "^hello" file

$:匹配行末尾包括如下字元的行

example:匹配結尾是hello的行

grep "$hello" file

.:萬用字元,表示任何單個字元

example:匹配只有乙個字元的行

grep "^.$" file

* :代表重複前乙個字元 0 到無窮多次

example: 匹配g開頭,g結尾,中間至少含有乙個o的行

grep "goo*g" file

\:轉義字元

example:匹配包括字元$的行

grep "\$ file

[ ]:限定範圍

example:匹配包括數字的行

grep "[0-9]" file
example:匹配不包括數字的行

grep "[^0-9]" file

{} :限定重複次數

example: 匹配含有連個o的字元

grep -n "o\" file
example:匹配g後面有2~5個o的字串

grep -n 'go\' file

擴充套件grep(grep -e 或者 egrep)

example: 搜素包含乙個或多個3的行

egrep '3+' file

grep -e '3+' file

example: 搜尋含有good或者hello的行
egrep "good|hello" file

grep正規表示式

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...

Grep正規表示式

grep正規表示式 要用好grep這個工具,其實就是要寫好正規表示式,所以這裡不對grep的所有功能進行例項講解,只列幾個例子,講解乙個正規表示式的寫法。ls l grep a 通過管道過濾ls l輸出的內容,只顯示以a開頭的行。grep test d 顯示所有以d開頭的檔案中包含test的行。gr...

grep正規表示式

文字查詢需要grep global research 根據模式,搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成的匹配條件 man grep 檢視幫助 查詢 etc passwd檔案包含root的內容 root iz233y80y23z grep root...