• shell脚本--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、awk、使用的regexp引擎也不一样)
                       -i  忽略大小写
                       -v  进行反选
                       -o  仅仅输出匹配的内容(默认输出的是匹配到的行)
                       --color=auto  语法着色
                       -n  显示行号
                       -w  匹配固定的单词

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

                   回顾:文件通配符(globbing)
                       *任意字符 ?任意单个字符 [] 括号内的任意单个字符 [^]:取反

                   1、字符匹配
                        .  任意一个字符
                       []  范围内任意单个字符
                       [^]  范围外任意单个字符

                   2、次数匹配
                       *     匹配前一个字符0次到n次
                       ?    匹配前一个字符0次到1次
                        +    匹配前一个字符1次到n次
                        {m}  匹配前一个字符m次
                       a{7}  aaaaaaa
                        {m,n} 匹配前一个字符m到n次
                       {m,}  匹配前一个字符至少m次

                   3、位置锚定
                        ^    锚定行首
                        $    锚定行尾
                           锚定单词词首和锚定词尾
                        >   锚定词尾
                        <   锚定词首

  • 相关阅读:
    Codeforces Round #538 (Div. 2) F. Please, another Queries on Array?
    2021 ICPC济南 J Determinant
    牛客小白月赛43 F 全体集合
    The 2021 ICPC Asia Regionals Online Contest (II) L Euler Function
    C++文件操作详解
    利用VC实现图像的特殊显示效果 小楼machine
    Mixed mode assembly is built against version 'v2.0.50727' 解决方案 小楼machine
    如何在对话框资源从一个项目导入到另一个项目使用 Visual c + +.net 或 Visual c + + 2005 小楼machine
    灰度图像阈值化分割常见方法总结及VC实现 小楼machine
    Visual C++多媒体设计及图形、图像处理 小楼machine
  • 原文地址:https://www.cnblogs.com/4443056bdH/p/11354133.html
Copyright © 2020-2023  润新知