grep、egrep及相应的正则表达式和用法-创新互联

grep系:grep,egrep,fgrep,文本搜索工具,基于PATTERN对于给定的文本进行模糊搜索,grep系默认工作于贪婪模式下。

成都创新互联从2013年成立,先为临淄等服务建站,临淄等地企业,进行企业商务咨询服务。为临淄企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

 grep:

  grep [OPTIONS] PATTERN [FILE...]

  PATTERN:过滤条件,是由正则表达式元字符以及没有特殊含义的文本字符组成。

  正则表达式元字符:

  会被正则表达式引擎解释为特殊含义。 pcre——perl语言的正则表达式引擎。

   基本的正则表达式:BRE

   扩展的正则表达式:ERE

   grep默认仅支持基本正则表达式

   egrep默认仅支持扩展正则表达式

   fgrep默认不开启正则表达式引擎

  文本字符:

  只具备字符片面含义的那些字符

  常用选项:

   -i, --ignore-case  忽略文本字符的大小写

   -v, --invert-match  反向匹配,最终显示的结果是PATTREN不能匹配的行

   -c, --count  统计匹配PATTERN的所有的行数

   -o, --only-matching  关闭贪婪模式,仅显示PATTERN能匹配的内容

   -q, --quiet, --silent  不输出任何匹配结果

   --color[=WHEN], --colour[=WHEN]    将匹配的PATTREN的内容以特殊颜色显示

   -E, --extended-regexp  扩展的正则表达式 grep-E 相当于egrep

   -F, --fixed-strings, --fixed-regexp  相当于fgrep

   -G, --basic-regexp  基本的正则表达式,egrep -G相当于grep

   -P, --perl-regexp  使用PCRE引擎

   -A NUM, --after-context=NUM  在显示匹配PATTERN的行同时显示其后面的NUM行

   -B NUM, --before-context=NUM

   PATTERN;

    正则表达式元字符:

      基本正则表达式元字符:

      GLOBBING-------简化版的正则表达式: []  ?  *

       字符匹配:

        .:匹配任意单个字符

        []:匹配指定范围内的任意单个字符

        [^]:匹配指定范围以外的任意单个字符

        下列所有的字符集都可以放置于[]之中匹配单个字符

        [:lower:]

        [:upper:]

        [:alpha:]

        [:digit:]

        [:space:]  空格

        [:alnum:]

        [:punct:]

        [:blank:]

        [:xdigit:]:所有的十六进制数字

        a-z:所有的小写字母

        A-Z:所有的大写字母

        0-9:所有的十进制数字

       次数匹配: 该类字符之前的那个字符可以出现的次数

         *:其前面的字符可以出现任意次(0次,1次或多次)

         \?:其前面的字符可有可无(0次或一次)

         \+:其前面的字符至少出现一次(1次或多次)

         \{m\}:其前面的字符必须出现m次

         \{m,n\}:至少出现m次,至多出现n次  (m

         \{,n\}:其前面字符至多出现n次,至少出现0次

         \{m,\}:其前面字符至少出现m次

        在正则表达式中,表示任意长度任意字符的方式:.*

        位置锚定字符:

           行锚定:

            行首锚定:^

            行尾锚定:$

           字锚定:

             字首锚定:\<或\b

             字尾锚定:\>或\b

             \b:旧版本中的锚定方法,建议不使用

             对于正则表达式的引擎来说,字是由特殊字符组成的连续字符串

           分组与引用字符:

            \(PATTERN\):将此PATTERN所匹配到的所有字符当做一个不可分割的整体来处理。

             在正则表达式引擎中,有一系列内置变量,这些变量会保存所有分组内的字符信息,用于反向引用,这些变量依次是:\1,\2,\3...

             ..

           或:

             \|

             注意:\|将其左右两边的字符串当整体对待。

             A\|american:A或american

             请找出ifconfig命令中数值在100-255之间的整数:

               第一位:1     2

               第二位:0-9   0-4    5

               第三位:0-9   0-9    0-5

               ifconfig | grep '\<\(1[0-9][0-9]\|2[0-4][0-9]\|25[0-5]\)\>'

              grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

                默认情况下,grep命令后面只允许有一个PATTERN;

                如果想要在依次grep搜索中写多个PATTERN,则需要-e选项,每个-e选项只能使用一个PATTERN作为参数;

                将所需要的PATTERN写入到一个文件中,保证每行只有一个PATTERN,我们就可以使用-f的方式实现多PATTERN的匹配;

       egrep:   下列用法和grep一样

       扩展的正则表达式元字符:

         字符匹配:

           .

           []

           [^]

          次数匹配:

          *

          ?

          +

          {m}

          {m,n}

          {m,}

          {0,n}

          位置锚定:

          ^

          $

          \<,\b

          \>,\b

          分组和引用:

          ()

          \1,\2,\3...

          或:

          |

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:grep、egrep及相应的正则表达式和用法-创新互联
新闻来源:http://myzitong.com/article/cdgjjh.html