• grep与正则表达式


    grep与正则表达式

    1、grep程序

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

       grep : 文本行过滤工具

        包含三个命令:grep egrep fgrep,他们是用来惊醒行模式匹配的

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

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

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

        用法:

          grep [option] ... PATTERN [文件名]

        常见选项(opton):

          -E  //支持使用拓展的正则表达式(ERE

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

          -f  //指定文件

          -i  //忽略大小写

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

          -n  //显示行号

          -v  //反选

          --color=auto  // 语法着色

          -w  // 匹配固定的单词显示所在行

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

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

    2、PATTERN -- 正则表达式

    作用:

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

      11字符匹配

        .  // 任意一个字符

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

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

      12次数匹配

        *  // 匹配前面的字符0次到n

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

        +  // 匹配前面字符1次到n

        {m}  // 匹配前面的一个字符m

        {m,n}  // 匹配前一个字符mn

        {0,n}  // 匹配前面的字符0次到n次(0必须加)

        {m,}  // 匹配前面一个字符至少m

      13位置锚钉

        ^  // 锚定行首

        $  // 锚定行尾

          //锚定词首或词尾(用在前面为词首,后面为词尾)

        >  // 锚定词尾

        <  // 锚定词首

      14分组

        特性:

          默认情况下,Linux系统会为分组指定变量,变量的表示形式1 2 3 ...(后向 引用)

        abc*  // 我们把abc看成一个整体

        ()  // 将里面的看作是一个整体进行匹配

        补充:

          扩展正则表达式分组用“()”表示;

          标准正则表达式中的”可以去掉;

      

    *匹配IP地址的正则表达式:

  • 相关阅读:
    解决 'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    关于IDEA的Maven打jar包springboot项目问题,打成可执行jar包,IDEA创建的maven项目和spring initializr项目
    Flink接收RabbitMQ数据写入到Oracle
    操作MongoDB好用的图形化工具,Robomongo -> 下载 -> 安装
    PL/SQL Developer -> 下载 -> 安装 ->执行SQL -> 设置本地/远程连接
    MongoDB学习笔记,基础+增删改查+索引+聚合...
    SpringBoot整合MongoDB JPA,测试MongoRepository与MongoTemplate用法,简单增删改查+高级聚合
    Elasticsearch没看文档之前,整理的一些知识
    Elasticsearch中文文档,内容不全
    Elasticsearch 7.4.0官方文档操作
  • 原文地址:https://www.cnblogs.com/yxq-123/p/11360415.html
Copyright © 2020-2023  润新知