码迷,mamicode.com
首页 > 其他好文 > 详细

4.grep与正则表达式

时间:2019-08-14 12:46:47      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:扩展   glob   mamicode   文本处理   报告   auto   显示   正则表达式引擎   字符   

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与正则表达式

标签:扩展   glob   mamicode   文本处理   报告   auto   显示   正则表达式引擎   字符   

原文地址:https://www.cnblogs.com/Rubyonly/p/11350930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!