4.grep与正则表达式

Posted rubyonly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.grep与正则表达式相关的知识,希望对你有一定的参考价值。

grep与正则表达式

1、grep程序

    Linux文本处理三剑客 -- grep  sed  awk

    grep:文本  行过滤工具

    sed:文本行编辑器(流编辑器)

    awk:报告生成器,(做文本输出格式化)

 

    grep

      包含三个命令:grep  egrep  fgrep  ,用来进行 行模式(pattern)匹配

      egrep = grep -E //使用扩展的正则表达式进行匹配

      fgrep = fast grep  //只使用文件通配符进行匹配

      *grep默认使用正则表达式进行文本匹配*

    grep的用法:

      grep [option]...PATTERN  [filename]

    grep的常见选项 -- option

      -E  支持使用扩展的正则表达式(ERE) (regexp)

      -P  使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed  grep  wak使用的regexp引擎也不相同)

      -i  忽略大小写

      -v  进行反选

      -o  仅仅输出匹配的内容(默认输出的是匹配的行)

      --color=auto  语法着色

      -n  显示行号

      -w  匹配固定单词

   

    PATTERN--正则表达式

      作用:通过一些特殊字符,来表示一类字符内容,然后交给前面命令来执行;如果使用特殊字符本身的含义,就需要 \\ 进行转义。

      文件通配符(globbing)

        *  ?  [ ]  [^ ]

      1、字符匹配

        .  任意一个字符  ?

        []  范围内的任意一个字符

        [^ ]  范围外任意一个字符

      2、次数匹配

        *  匹配前面的字符0次到无数次

        ?匹配前面的字符0次到1次

        +  匹配前面的字符1次到无数次

        \\m\\  匹配前面的字符m次

        \\m,n\\  匹配前面的字符m到n次

        \\0,n\\  匹配前面的字符0次到n次

        \\m,\\  匹配前面的字符至少m次

      3、位置锚定

        ^  锚定行首

        $  锚定行尾

        \\b  锚定词首和锚定词尾

        \\>  锚定词尾

        <\\  锚定词首

      4、分组

        \\(\\)  示例:\\(abc\\)*  abcabcabc  abcccc

        **分组特性:默认情况下,Linux系统会分为分组指定变量,变量的表示形式 \\1 \\2 \\3...

技术图片

技术图片

 

以上是关于4.grep与正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

shell中的SED与正则式(帮我做下这些题目,谢谢)

centos7.4 grep常用用法

正则表达式与扩展正则表达式区别

正则表达式与文件格式化处理

正则表达式与grep

sedgawk介绍与正则表达式-----------(正则表达式定义与类型)