grep 命令 正規表示式

2022-11-11 13:30:04 字數 1947 閱讀 1684

unix grep的用法

grep(全域性正規表示式版本)允許對文字檔案進行模式查詢,grep支援基本正規表示式,也支援其擴充套件集。grep有三種變形:grep標準grep命令

egrep擴充套件grep命令,支援基本及擴充套件的正規表示式,但不支援\q模式範圍的應用

fgrep快速grep命令,允許查詢字串而不是乙個模式,不要誤解fast,其實和grep速度相當grep的一般格式:

grep[選項]基本正規表示式[檔案]這裡的基本正規表示式可為字元使用雙引號:

字串引數最好使用雙引號擴起來,一是以防被誤解為shell命令,二是可以用來查詢多個單詞組成的字串,在呼叫變數的時候也要使用雙引號,比如grep "$myvar",否則無結果,在呼叫模式匹配是,應使用單引號grep的選項:

-c只輸出匹配行的計數,比如grep -c "test" *.txt,將顯示4,則說明包含test的有4行-i不區分大小寫(只適用於單字元),比如grep -i "bank" *.c等同於grep -i "bank" *.

c-h查詢多檔案時不顯示檔名

-l查詢多檔案時只輸出包含匹配字元的檔名

-n顯示匹配行及行號,在顯示出內容的每行前面會顯示行數-s不顯示不存在或無匹配文字的錯誤資訊

-v顯示不包含匹配文字的所有行,grep -v "test" 將顯示不包含"test"的行內容-w以單詞為單位進行匹配-e允許使用擴充套件模式匹配grep和正規表示式:

使用正規表示式最好使用單引號括起來,避免引數被做為shell命令執行^錨定行的開始如:'^grep'匹配所有以grep開頭的行。$錨定行的結束如:

'grep$'匹配所有以grep結尾的行。

.匹配乙個非換行符的字元如:''匹配gr後接乙個任意字元,然後是p。

*匹配零個或多個先前字元如:'*grep'匹配所有乙個或多個空格後緊跟grep的行。.*一起用代表任意字元。

匹配乙個指定範圍內的字元,如'[gg]rep'匹配grep和grep。

[^]匹配乙個不在指定範圍內的字元,如:'[^a-fh-z]rep'匹配不包含a-f和h-z字母開頭,緊跟rep的行。\(..

\)標記匹配字元,如'\(love\)',love被標記為1。

\《錨定單詞的開始,如:'\錨定單詞的結束,如'grep\>'匹配包含以grep結尾的單詞的行。x\重複字元x,m次,如:'0\'匹配包含5個o的行。

x\重複字元x,至少m次,如:'o\'匹配至少有5個o的行。

x\重複字元x,至少m次,不多於n次,如:'o\'匹配5--10個o的行。

\w匹配文字和數字字元,也就是[a-za-z0-9],如:'g\w*p'匹配以g後跟零個或多個文字或數字字元,然後是p。\w\w的反置形式,匹配乙個或多個非單詞字元,如點號句號等。

\b單詞鎖定符,如: '\bgrep\b'只匹配grep。模式範圍:

grep '48[a-z]' *.txt

不匹配行首: grep '^[^48]' *.txt查詢行首不是48的行內容設定大小寫:

grep '[ss]ept' *.txt查詢sept和sept內容匹配任意字元: grep 'k...

d' *.txt grep '[a-z][a-z]..c' *.

txt"與"和"或": grep -e '219|216' *.txt查詢包含219或者216的行內容空行: grep '^$' *.txt

類名:[[:upper:

]] -> [a-z] [[:lower:]] -> [a-z][[:

digit:]] -> [0-9] [[:alnum:

]] -> [0-9a-za-z]

[[:space:]] ->空格或者tab鍵[[:

alpha:]] -> [a-za-z]grep '5[[:upper:

]]' *.txt等同於grep '5[a-z]' *.txt列出所有的目錄ls -l |grep '^d'

列出所有的非目錄ls -l |grep '^[^d]'或ls -l |grep -v '^d'

正規表示式

c 正規表示式經典分類整理集合手冊 作者 發布日期 2009 03 27 有一段時間,正規表示式學習很火熱很潮流,當時在csdn一天就能看到好幾個正規表示式的帖子,那段時間借助論壇以及wrox press出版的 c 字串和正規表示式參考手冊 學習了一些基礎的知識,同時也為我在csdn大概賺了1000...

常用正規表示式

漢字 u4e00 u9fff 考證數字 0 9 考證n位的數字 d 考證至多n位數字 d 考證m n位的數字 d 考證零和非零開頭的數字 0 1 9 0 9 考證有兩位小數的正實數 0 9 0 9 考證有1 3位小數的正實數 0 9 0 9 考證非零的正整數 1 9 0 9 考證非零的負整數 1 9...

正規表示式詳細

正規表示式是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 模式描述在搜尋文字時要匹配的乙個或多個字串。下面是正規表示式的一些示例 表示式匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s s s s s 1 s 匹配 ...