利用正则表达式的各种格式及用法

    主要利用正则表达式进行搜索查找的命令常用的为grep(检索)、egrep(扩展grep)和fgrep。

  grep:利用正则表达式以及文本信息等条件检索文件中信息的命令,并显示包含匹配的字符串的行。

     格式: grep [options] 'pattern' filename

                options:选项(可省略)

                pattern:正则表达式及文本

                filename:文件名

    选项:

          -i:忽略字符大小写

          --color:给匹配的字符串加颜色

          -o:只显示匹配的“字符串”

          -v:显示没有被匹配到的行

          -A #:显示匹配到的行以及其下面的#行(共#+1行)

          -B #:显示匹配到的行以及其上面的#行

          -C #:显示匹配到的行以及其上面#行和上面#行(共#+#+1行)

    pattern:

          '.' :表示单个任意字符

          '*' :表示匹配之前字符任意次    

          '.*':表示任意长度的任意字符

          '[]':匹配任意单个字符的行

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

          '[^]':匹配任意非该字符的行

          \{m,n\}:匹配前面的字符最少m次,最多n次

          \? :匹配前面字符0次或1次

          \< :匹配词首为其后面字符的行  \> :匹配词尾为其前面字符的行

                  \<字符串\> :匹配单词‘字符串’所在的行

          ^ :匹配行首为其后字符的行  $ :匹配行尾为其前字符的行

                ^$ :匹配空白行

                ^字符串$ :匹配整行为‘字符串’的行

          \(字符串\) :组团

                例: ^\(abc\)[[:space:]]\1$ :匹配内容为‘abc abc’的行

                     \1 表示表达式中第一个组团,\2:表示第二个,以此类推




扩展表达式中  

      格式: egrep [options] pattern [files...]

      

      {m,n} 匹配前面字符最少m次,最多n次

           +   匹配前面字符最少一次  类似{1,}

      ()  组团

       |   或者       B|boy 表示B或者boy    (B|boy)表示Boy或者boy

       其余用法同grep类似





fgrep 不支持正则表达式