1、grep

      grep [options] PATTERN [FILE...]

            -v:反向搜索,显示出没有出现“搜索模式”的哪一行

             -o:仅显示被模式匹配到的字符串

            -q:搜索模式匹配后结果不显示,哪怕结果没有搜索到

            -A:显示搜索模式所在行后面的num行

            -B:显示搜索模式所在行前面的num行

            -C:显示搜索模式所在行后面的num行,和后面的num行

            -E:使用扩展怎着表达式

            -- colour==auto


基本正则表达式元素符:

    1、字符匹配

        . :匹配任意单个字符

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

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

        [:lower:],[:upper:],[:alpha:],[:digit:],[:alnum:],[:punnct:]

    2、次数匹配

        *:前边字符任意次数

         .*:任意单个字符任意多次

        \?:前边单个字符0—1次

        \+:前边单个字符至少1次

        \{m}:前边单个字符m次

        \{m,n\}:前边单个字符m到n次

        \{m,\}:前边单给字符至少m次

    3、锚点匹配

        ^:匹配模式搜索到的在行首的字符

        $:匹配模式搜索到的在行尾的字符

            ^[[:space:]]$:匹配空行

        \<:匹配模式搜索到的在词首的字符

        \>:匹配模式搜索到的在词尾的字符

    4、分组

        \( \):将单个字符或者多个字符捆绑在一起当做整体处理

            后向引用:引用前面分组括号所引用的内容

    注:分组括号中模式匹配到的内容会被内容会被保存在grep内部的变量中,这些变量的命名方式为:\1,\2,,,,等等。

    \1:左起第一个括号到与之相对应的括号完,之间的被模式所搜索到的字符

  


扩展正则表达式:egrep

    grep -E=egrep

    1、字符匹配

        . :匹配任意单个字符

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

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

        [:lower:],[:upper:],[:alpha:],[:digit:],[:alnum:],[:punnct:]

    2、次数匹配

        *:前边字符任意次数

         .*:任意单个字符任意多次

          ?:前边单个字符0—1次

          +:前边单个字符至少1次

          {m}:前边单个字符m次

          {m,n}:前边单个字符m到n次

          {m,}:前边单给字符至少m次

    次数匹配与基本正则表达式的区别是不用转义字符\

    3、锚点匹配

        ^:匹配模式搜索到的在行首的字符

        $:匹配模式搜索到的在行尾的字符

            ^[[:space:]]$:匹配空行

        \<:匹配模式搜索到的在词首的字符

        \>:匹配模式搜索到的在词尾的字符

    4、分组

        ( ):将单个字符或者多个字符捆绑在一起当做整体处理

            后向引用:引用前面分组括号所引用的内容

    5、或者

        a|b

        eg:C|cat 匹配左边或右边

          (C|c)at:匹配Cat或者cat

    

fgrep:不支持正则表达式,按给的的字符来匹配