zoukankan      html  css  js  c++  java
  • Linux通配符与正则表达式

    linux通配符和三剑客(grep、sed、awk)正则表达式是不一样的
    通配符一般是用于命令行脚本等bash环境,而linux正则表达式常用于三剑客场景

    常见通配符:

    *       - 代表所有(0到多个)字符      
    ?       - 代表任意一个字符
    ;       - 两个命令之间的分隔符
    #       - 在配置文件里,注释效果
    |       - 管道文件
    ~       - 当前用户的家目录
    -       - 上一次的所在目录
    $       - 变量前需要加的符号
    /       - 路径分隔符,也是根
    >或1>   - 输出重定向,覆盖原有数据
    >>      - 追加输出重定向,追加在文件内容的尾部
    <       - 输入重定向(xargstr<<      - 追加输入重定向(cat'       - 单引号,不具备变量置换功能,引号内所见即所得
    "       - 双引号,具备变量置换功能,解析变量后输出,不加引号相当于双引号
    `       - 反引号,两个``中间为命令,会先执行,等价$()
    {}      - 中间为命令去块组合或内容系列
    !       - 逻辑运算中的“非”(not)
    &&      - and并且,当前一个指令执行成功时,执行后一个指令
    ||      - or或者,当前一个指令执行失败时,执行后一个指令
    ..      - 代表上级目录
    .       - 代表当前目录

    常见正则表达式:

        为处理大量字符串而定义的一套规则和方法,linux正则表达式一般以行为单位处理的

        1. 基础正则表达式

    ^        - 表示以...字符开头,^word
    $        - 表示以...字符结尾,word$
    ^$       - 表示空字符,即可理解为空行
    .        - 表示匹配任意单个字符
            - 表示转义符
    *        - 表示重复前面0个或1个以上字符
    .*       - 表示匹配所有
    []       - 表示匹配"[]"里面任意单个字符
    [^]      - 表示取反"[^]"里面的任意单个字符
    [-]      - 表示匹配"[-]"里一段字符的任意单个字符,如[0-9]即0到9
    1{4}   - 表示匹配字符 "1" 重复4次
    1{5,}  - 表示匹配字符 "1" 重复4次或4次以上
    1{,8}  - 表示匹配字符 "1" 重复8次或8次以内
    1{3,5} - 表示匹配字符 "1" 重复3-5次

        2. 扩展正则表达式

    +        - 表示重复 "一个或一个以上" 前面的所有字符("*"是0个)
    ?        - 表示重复 "0个或一个" 前面的字符("."是有且只有1个)
    |        - 表示过滤多个字符串
    ()       - 分组过滤,后向引用

        3. 元字符

     - 边界字符,单词边界
    
     - 换行符
  • 相关阅读:
    mysql case when用法
    php+mysql实现事务回滚
    go安装windows源码
    【C++】子类访问父类typedef的问题
    【C++】STL算法之remove_if
    MySQL常用函数总结
    Apriori算法+python实现
    数据库索引理论
    Linux基本命令
    JAVA 多线程
  • 原文地址:https://www.cnblogs.com/Caiyundo/p/10303967.html
Copyright © 2011-2022 走看看