grep裏的正規表達式

選項

grep -[acinv] '搜索內容串' filename
-e: 一次只能有一個選項,好比 grep -e "abc" -e "def"
-E: 正則表達式
-v: 取反
-a 以文本文件方式搜索
-c 計算找到的符合行的次數
-i 忽略大小寫
-n 順便輸出行號
-h 查詢多文件時不顯示文件名。
-l 查詢多文件時只輸出包含匹配字符的文件名。
-s 不顯示不存在或無匹配文本的錯誤信息。
-w 選項表示匹配整詞,即以模式的字面意思去解析它。
-x 選項是匹配整行,即只有當文件中有整行內容與模式匹配時,grep命令才輸出改行結果。正則表達式

正則元字符

^ 錨定行的開始 如:'^grep'匹配全部以grep開頭的行。
$ 錨定行的結束 如:'grep$'匹配全部以grep結尾的行。
. 匹配一個非換行符的字符 如:'gr.p'匹配gr後接一個任意字符,而後是p。code

  • 匹配零個或多個先前字符 如:'*grep'匹配全部一個或多個空格後緊跟grep的行。

.*一塊兒用表明任意字符。
[] 匹配一個指定範圍內的字符,如'[Gg]rep'匹配Grep和grep。
[^] 匹配一個不在指定範圍內的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一個字母開頭,緊跟rep的行。
/(../) 標記匹配字符,如'/(love/)',love被標記爲1。
/< 錨定單詞的開始,
/> 錨定單詞的結束,如'grep/>'匹配包含以grep結尾的單詞的行。
x/{m/} 重複字符x,m次,如:'o/{5/}'匹配包含5個o的行。 x/{m,/} 重複字符x,至少m次,如:'o/{5,/}'匹配至少有5個o的行。
x/{m,n/} 重複字符x,至少m次,很少於n次,如:'o/{5,10/}'匹配5--10個o的行。
/w 匹配文字和數字字符,也就是[A-Za-z0-9_],如:'G/w*p'匹配以G後跟零個或多個文字或數字字符,而後是p。
/W /w的反置形式,匹配一個或多個非單詞字符,如點號句號等。
/b 單詞鎖定符,如: '/bgrep/b'只匹配grep。ci

OR

-方法一file

grep 'patterna\|patternb' filename

-方法二搜索

grep -E 'patterna|patterb' filename

-方法三grep

grep -e patterna -e patternb filename

AND

-方法一方法

grep -E 'patterna.*patternb|patternb.*patterna' filename

-方法二查詢

grep -E 'patterna' filename | grep -E 'patternb'

NOT

grep -v patterna filename
相關文章
相關標籤/搜索