日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则表达式grep, egrep, fgrep

發布時間:2025/3/21 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则表达式grep, egrep, fgrep 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

grep,egrep,fgrep : print lines matching a pattern

1.grep :

  grep [options] PATTERN FILE...

  PATTERN由元字符和和普通字符組成

  -i : --ignore-case?, 忽略大小寫

  -o : --only-matching, 只顯示所匹配到的字符,二不是整行

  -n : --line-number, 輸出所匹配行的行號

  -v : --invert-match, 顯示除匹配行外的所有行

  -E : --extended-regexp, egrep

  -F : --fixed-strings, fgrep

  -P : --per-regexp

  -A NUM : --after-context, 顯示匹配行后NUM行

  -B NUM: --before-context,顯示匹配行強NUM行

  -C NUM: --context,顯示匹配行前、后NUM行

  元字符

    匹配字符:

      . : 匹配任意單個字符

      [],[^] : 匹配指定的單個字符

        [0-9], [[:digit:]] : 匹配單個數字

        [[:alpha:]] : 匹配單個大、小寫字母

        [[:lower:]] : 匹配單個小寫字母

        [[:upper:]] : 匹配單個大寫字母

        [[:alnum:]] : 匹配單個數字或字母

        [[:bank:]] : 匹配單個空白字符

        [[:punct:]] : 匹配標點符號

        [[:contrl:]] : 匹配當控制字符

        [[:xdigit:]] : 匹配單個16進制數

    匹配次數:用來指定前面的字符出現的次數

      * : 任意次數,包括0次

      \+ : 至少一次

      \? : 0次或1次,前面的字符可有,可無

      \{m\}, \{0,n\}, \{m,n\}, \{m,\}?: 分別指m次,最多n次,m-n次,最少m次

      .* : 任意長度,任意字符

    位置錨定:

      ^ : 行首錨定,模式左側

      $ : 行尾錨定,模式右側

      \< : 詞首錨定,單詞模式左側,單詞指由數字和字母構成的字符串

      \>?: 詞尾錨定,單詞右側

        ^PATTERN$, 匹配整行只有指定的模式

        ^$ : 空行

        ^[[:blank:]]$ : 整行無可見字符

        \<word\> : 匹配整個單詞

    分組

      ?

將任意個字符用括號括起來做一個整體進行匹配

      后向引用:應用前面分組括號所匹配的內容,非模式本身, \1,\2 ...

        ?

.*\1 : 匹配第一個括號所匹配的內容

    

2. egrep : 等同于 grep -E 

  egrep [options] PATTERN FILE...

  PATTERN由元字符和和普通字符組成

  -i : --ignore-case?, 忽略大小寫

  -o : --only-matching, 只顯示所匹配到的字符,二不是整行

  -n : --line-number, 輸出所匹配行的行號

  -v : --invert-match, 顯示除匹配行外的所有行

  -A NUM : --after-context, 顯示匹配行后NUM行

  -B NUM: --before-context,顯示匹配行強NUM行

  -C NUM: --context,顯示匹配行前、后NUM行

  PATTERN由元字符和和普通字符組成

  元字符

    匹配字符:

      . : 匹配任意單個字符

      [],[^] : 匹配指定的單個字符

        [0-9], [[:digit:]] : 匹配單個數字

        [[:alpha:]] : 匹配單個大、小寫字母

        [[:lower:]] : 匹配單個小寫字母

        [[:upper:]] : 匹配單個大寫字母

        [[:alnum:]] : 匹配單個數字或字母

        [[:bank:]] : 匹配單個空白字符

        [[:punct:]] : 匹配標點符號

        [[:contrl:]] : 匹配當控制字符

        [[:xdigit:]] : 匹配單個16進制數

    匹配次數:用來指定前面的字符出現的次數

      * : 任意次數,包括0次

      + : 至少一次

      ? : 0次或1次,前面的字符可有,可無

      {m}, {0,n}, {m,n}, {m,}?: 分別指m次,最多n次,m-n次,最少m次

      .* : 任意長度,任意字符

    位置錨定:

      ^ : 行首錨定,模式左側

      $ : 行尾錨定,模式右側

      \< : 詞首錨定,單詞模式左側,單詞指由數字和字母構成的字符串

      \>?: 詞尾錨定,單詞右側

        ^PATTERN$, 匹配整行只有指定的模式

        ^$ : 空行

        ^[[:blank:]]$ : 整行無可見字符

        \<word\> : 匹配整個單詞

    分組

      () 將任意個字符用括號括起來做一個整體進行匹配

      后向引用:應用前面分組括號所匹配的內容,非模式本身, \1,\2 ...

        (th).*\1 : 匹配第一個括號所匹配的內容

3.fgrep : 不支持正則表達式, 僅匹配指定的字符串

  fgrep [optings] PATERN File...

Andraw|朱標

總結

以上是生活随笔為你收集整理的正则表达式grep, egrep, fgrep的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。