zoukankan      html  css  js  c++  java
  • grep文本处理工具

    grep是一款文本过滤工具,基于正则表达式进行模式匹配
    sed:stream editor 流编辑器
    awk:linux上实现为gawk,文本报告生成器(格式化文本)文本搜索工具,根据用户指定的模式,对目标文本逐行进行匹配检查,打印匹配到的行
    基于Perl的正则表达式
    使用格式:grep [选项] 匹配模式 file对象
    选项说明:

        –color=auto:对匹配到的文本着色,高亮显示
        -i:忽略字符大小写
        -o:仅显示匹配到的字符串本身
        -v:方向匹配,匹配到的文本行不显示,不能匹配到的行显示
        -E:表示支持使用扩展的正则表达式,等同于egrep
        -q:静默模式,不输出任何信息到标准输出
        -A(after):显示匹配到的行和其后面的行,给一个数字
            grep -A 1 root /etc/passwd
        -B(before):显示匹配到的行和其前面的行,给一个数字
            grep -B 1 root /etc/passwd
        -C(center):显示匹配到的行和其前后的行,给一个数字
            grep -C 1 root /etc/passwd

    字符匹配
    . :匹配任意单个字符
    [ ]:匹配指定范围内的任意单个字符
    [^ ]:匹配指定范围外的任意当个字符
    [[:digit:]] [[:lower:]] [[:upper:]]  [[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]]

    匹配次数

    用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数,默认为贪婪模式
    *:表示匹配其前面的字符任意次,0,1,多次
    例如:grep “x*y”
    .*:匹配任意长度的任意字符
    ?:匹配其前面的字符0次或一次,即其前面的字符是可有可无的
    +:匹配其前面的字符一次或多次,即其前面的字符要出现至少一次
    {m}:精确匹配到其前面字符的m次
    {m,n}:匹配其前面的字符至少m次,至多n次
    {0,n}:至多n次
    {m,}:至少m次

    位置锚定

    ^:行首锚定,用于模式的最左边
    $:行尾锚定,用于模式的最右边
    ^pattern$:用于pattern来匹配整行
    ^$:空白行
    ^[[:space:]]$:空行或空白字符的行
    单词:非特殊字符组成的连续字符都称为单词
    < 或 :词首锚定,用于单词模式的左侧
    > 或 :词尾锚定,用于单词模式的右侧
    <pattern>:匹配完整单词



    egrep等效于grep -E ,基于扩展的正则表达式做模式匹配

    支持扩展的正则表达式实现类似于grep文本过滤功能:grep -E
    -o , -i , -v , -q , -A , -B , -C ,
    -G:表示支持基本正则表达式
    扩展正则表达式的元字符

    1:字符匹配
    . :匹配任意单个字符
    [ ]:匹配指定范围内的任意单个字符
    [^ ]:匹配指定范围外的任意当个字符
    [[:digit:]] [[:lower:]] [[:upper:]]  [[:alpha:]] [[:alnum:]] [[:punct:]] [[:space:]]

    2:次数匹配
    *:任意次,0,1或多次
    ?:0次或1次,其前的字符是可有可无的
    +:其前字符至少1次
    {m}:其前的字符m次
    {m,n}:至少m次,至多n次
    {0,n}
    {m,}


  • 相关阅读:
    网络编程(二)——TCP协议、基于tcp协议的套接字socket
    网络编程(一)——网络编程介绍
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:指定JSP页面的错误提示页
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:指定JSP页面的描述信息
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:JSP脚本
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:输出JSP表达式
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:JSP声明
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:JSP的基本原理
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:构建WEB应用
    吴裕雄--天生自然 JAVA-ORACLE学习笔记:JAVA连接ORACLE操作
  • 原文地址:https://www.cnblogs.com/liu1026/p/7343958.html
Copyright © 2011-2022 走看看