正則表達式

grep:根據模式搜索文本,並將符合模式的文本行顯示出來

Pattern:文本字符和正則表達式的元字符組合而成的匹配條件

grep

     -i 忽略大小寫

     --color 匹配到的字符串顏色顯示

     -v 顯示沒有被匹配的行

     -o 只顯示被匹配模式匹配到的字符串

     -E 支持擴展正則表達式

     -A #顯示被匹配到的行的後N行

     -B #顯示被匹配到的行的前N行

     -C #顯示被匹配到的行的前後N行

正則表達式:REGEXP(REGular EXPression)

 默認工作在貪婪模式下,儘可能長的匹配

元字符:

     . 匹配任意單個字符 

 字符集合:[:digit:]任何數字 [:lower:]小寫字母 [:upper:]大寫字母  [:punct:]標點符號 [:space:]空格 [:alpha:]任何字母                        [alnum:] 任何字母和數字

    * 匹配其前面的字符任意次 .* 任意長度的任意字符

    ? 匹配起前面的字符一次或零次

    {m,n} 匹配其前字符至少m次最多n次,grep下要加\,避免被shell解析,或者直接使用egrep。一個數字,{x}的意思是"前面的字符或字符簇只出現x次";一個數字加逗號,{x,}的意思是"前面的內容出現x或更多的次數";兩個用逗號分隔的數字,{x,y}表示"前面的內容至少出現x次,但不超過y次

位置錨定:

     ^ 錨定行首

     $ 錨定行尾

    ^$ 空白行

    \< 錨定詞首,其後面的任意字符必須作爲單詞首部出現 \b

    \> 錨定詞尾,其前面的任意字符必須作爲單詞的尾部出現 \b

分組

      () \NUM 括號中的內容作爲在此引用   後向引用

例如:

      He love his lover.

      She like her liker.

      He like his lover.

      She love her liker.

     grep "\(l..e\).*\1" test.txt

擴展正則表達式

    .

    *

    + 其前字符至少1次

    ?

    []

    {m,n}

    (  )

    \<

    \>

| :表示 or或者    匹配前後整個字符 例如:C|cat    (C|c)at

IPV4:

A:1-127

B:128-191

C:192-223

D:

E:


fgrep : 不支持正則表達式,只能查找固定的文本,速度快於grep


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章