grep 及正規表示式

2022-02-01 23:33:27 字數 2570 閱讀 7424

grpe 及正規表示式

文字查詢的需要:grep,egrep,fgrep

grep: 根據模式,搜尋文字,並將符合模式的文字行顯示出來。

pattern : 文字字元以及正規表示式的元字元組合而成的匹配條件

grep [options] pattern [file...]

-i :忽略大小寫

--color :顏色突出顯示

-v: 顯示沒有匹配到的行(反向匹配)

-o : 只顯示被模式匹配到的字串(乙個字串顯示為一行)

* :任意長度字元

?:任意單個字元

:[^]

正規表示式: re regular expression regexp

元字元:

.: 匹配任意單個字元

:匹配指定範圍內的任意單個字元

[^]:匹配指定範圍外的任意單個字元

!: 取反

字元集合: (引用的時候還要加乙個 [ ] )

[:digit:] 數字

[:lower:] 小寫字母

[:upper:] 大寫字母

[:punct:] 標點符號

[:space:] 空白字元

[:alpha:] 所有字母

[:alnum:] 所有數字和字母

匹配次數(貪婪模式:盡可能長的匹配):

* :匹配其前面的字元任意次

a,b,ab,aab,acb,adb,anib

a*b :表示a 出現任意次 然後匹配個b ,所以上面能匹配的是,b,ab,aab

.* :匹配任意長度的任意字元

a.*b : 則表示匹配a開頭b結尾的字串,中間任意啥都行 . 表示任意字元,* 表示匹配 . 任意次。

\?: 匹配其前面的字元1次或0次

a\?b

\匹配其前面的字元至少m次,至多n次

\是轉義字元,避免被shell解析為命令列展開

a\b 匹配ab,a出現至少1次,最多3次的字元 --> ab,aab,aaab

a.\b a和b之間出現任意字元,最少1個,最多3個

位置錨定:

^ : 錨定行首,此字元後面的任意內容必須出現在行首

$ : 錨定行尾,此字元前面的任意內容必須出現在行尾

^$: 空白行

\《或\b: 錨定詞首,其後面的任意字元必須作為單詞首部出現

\>或\b: 錨定詞尾,其前面的任意字元必須作為單詞的尾部出現

分組:

\(\)

\(ab\)* : ab作為乙個整體,可以出現任意次

後向引用

\1:引用第乙個左括號以及與之對應的右括號所包括的所有內容 \(ab\).*\1

\2:引用第二個左括號以及與之對應的右括號所包括的所有內容 \(ab\).*\2

\3:引用第三個左括號以及與之對應的右括號所包括的所有內容 \(ab\).*\3

正規表示式:

basic regexp: 基本正規表示式

extended regexp:擴充套件正規表示式。

基本正則:.::

[^]:

次數匹配:

*:\?: 0或1次

\ :至少m次,至多n次

錨定:^:

$:\<,\b:

\>,\b

分組:\(\):

\1,\2,\3....

grep: 使用基本正規表示式定義的模式來過濾文字的命令:

-i:忽略帶大寫

-v:反向搜尋

-o:只顯示匹配到的字串

--color:顯色

-e:使用擴充套件正規表示式

-a #: 表示某一行匹配到了,其後面的#行也顯示出來,每一組用 -- 分隔

-b #: 表示某一行匹配到了,其前面的#行也顯示出來,每一組用 -- 分隔

-c #:表示某一行匹配到了,其上下的#行也顯示出來,每一組用 -- 分隔

擴充套件的正規表示式:

字元匹配:

. :任意單個字元

:指定範圍內的單個字元

[^]: 指定範圍外的單個字元

次數匹配:

*:匹配其前字元匹配任意次

?:匹配其前字元0次或1次

+:匹配其前字元至少1次

:至少m次,至多n次 (不需要再使用 \ )

位置錨定:

^: 行首

$: 行尾

\<,\b: 詞首

\>,\b:詞尾

分組:(): 分組

\1,\2,\3....

或者|:or

group -e = egroup

1-255的數字正規表示式:

\<[1-9|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]]\>

ipv4:

5類: abcde 類

a:1-127

b:128-191

c:192-233

匹配ip

fgrep : 不支援正規表示式( 執行速度快)

grep 及 正規表示式

grep 根據模式搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成的匹配條件 i 忽略大小寫 color 顯示標註顏色 v 顯示沒有被模式匹配到的行 o 只顯示被匹配到的字串 任意長度的任意字元 任意單個字元 指定範圍內的 指定範圍外的 元字元 匹配任意單...

grep及正規表示式

grep,egrep,fgrep grep 根據模式搜尋文字,並將符合模式的文字行顯示出來。pattern 文字字元和正規表示式的元字元組合而成匹配條件 grep options pattern file.i color v 顯示沒有被模式匹配到的行 o 只顯示被模式匹配到的字串 任意長度的任意字元...

grep及正規表示式

grep grep global search regular expression and print out the line 作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配搭配的行 模式 由正規表示式字元及文字字元所編寫的過濾條件 正規表示式 regexp 由...