加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

grep

发布时间:2020-12-14 00:15:00 所属栏目:Linux 来源:网络整理
导读:grep程序 Linux下有文本处理三剑客--grep sed awk grep:文本行过滤工具 sed:文本行编辑器(流编辑器) awk:报告生成器(做文本输出格式化) grep 包含三个命令:grep egrep fgrep,它们是用来进行行模式(patter)匹配的 egrep=grep -E //使用扩展的正则

grep程序
    Linux下有文本处理三剑客--grep sed awk
    grep:文本行过滤工具
    sed:文本行编辑器(流编辑器)
    awk:报告生成器(做文本输出格式化)

    grep
      包含三个命令:grep egrep fgrep,它们是用来进行行模式(patter)匹配的
      egrep=grep -E //使用扩展的正则表达式进行匹配
      fgrep=fast grep //只使用文件通配符进行匹配
      *grep默认使用正则表达式进行文本匹配*

     grep的用法:
        grep [option]...PATTERN [filename]
        a*

      grep的常见选项--option
        -E 支持使用扩展的正则表达式(ERE)(regexp)
        -P 使用perl语言的正则表达式引擎进行搜索(每一种语言的正则表达式引擎都不相同,甚至sed grep awk使用的regexp引擎也不相同)
        -i 忽略大小
        -v 进行反选
        -o 仅仅输出匹配的内容(默认输出的是匹配到的行)
        --color=auto 语法着色
        -n 显示行号
        -w 匹配固定单词

      PATTERN--正则表达式
        作用:用过一些特殊字符,来表示一类字符内容,然后交给前面的命令来执行;如果使用特殊字符本身含义,就要用进行转义
      回顾:文件通配符(globbing)
          *?[][^]
      1、字符匹配
        . 代表任意一个字符?
        [] 范围你饿的任意一个字符
        [^] 范围外任意一个字符
        字符类:[:digit:][:alnum:][:alpha:][:lower:][:upper:][:space:][:punct:]
      2、次数匹配
        *匹配前面的字符0次到无数次
        ?匹配前面的字符0次到1次
        +匹配前面的字符1次到多次
        {m}匹配前面的字符m次
        {m,n}匹配前面的字符m到n次
        {0,n}匹配前面的字符0次到n次
        {m,}匹配前面字符至少m次

      3、位置锚定
        ^锚定行首
        $锚定行尾
        b锚定词首和锚定词尾
        &;锚定词尾
        &;锚定词首
      4、分组
        ()实例:(abc)* abcabcabc...
        **分组特性:默认情况下,Linux系统会为分组指定变量,变量的表示形式 1 2 3...
        示例:(ab+(xy)*),其中1 = ab+(xy)*,2=xy
            abbbbxyxyxyabxy

      补充:扩展的正则表达式
          【标准的正则表达式中的都可以去掉】
           分组:()后向引用 1 2 3...
            或:|

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读