• Linux sed之正则表达式:sed替换字符串时,使用正则表达式的注意事项


     https://www.cnblogs.com/sisier/p/4453523.html

     

    一、元字符集

    ^  

      锚定行的开始 如:/^sed/匹配所有以sed开头的行。 

    $   

      锚定行的结束 如:/sed$/匹配所有以sed结尾的行。 

    .    

      匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d。 

    *  

      匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。 

    []  

      匹配一个指定范围内的字符,如/[Ss]ed/匹配sed和Sed。 

    [^]   

      匹配一个不在指定范围内的字符,

      如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。 

    (..)   

      保存匹配的字符,如s/(love)able/1rs,loveable被替换成lovers。 

    &    

      保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。 

    <

        锚定单词的开始,如:/<love/匹配包含以love开头的单词的行。 

    >

        锚定单词的结束,如/love>/匹配包含以love结尾的单词的行。 

    x{m}

        重复字符x,m次,如:/0{5}/匹配包含5个o的行。 

    x{m,}

        重复字符x,至少m次,如:/o{5,}/匹配至少有5个o的行。 

    x{m,n}

        重复字符x,至少m次,不多于n次,如:/o{5,10}/匹配5--10个o的行。

     

     

    https://www.cnblogs.com/aaronhoo/p/5284991.html

    sed替换字符串时,使用正则表达式的注意事项

     

    sed的使用方法为:

    使用单个模式替换:sed 's/pattern/replacement/flags' filename,例如echo 'abc' | sed 's/a/A/'-->Abc

    使用多个模式同时替换:sed 's/pattern1/replacement1/;s/pattern2/replacement2/' file,

    例如,sed 's/^s*//;s/s*$//' totrim.txt 可以实现trim()函数的效果(去掉字符串两端的空格字符)

    pattern可以使用正则表达式,不过写法要注意,例如一般用d表示一个十进制数,但在sed里,必须用[0-9]来表示,正则表达式一般用+(加号)表示一个或多个,但写在sed里前面必须加上转椅符号反斜杠,

    如sed 's/[0-9]+$//g' file,表示去掉文件中每行末尾的一个或多个数字。

    更多注意事项需要参考《Linux命令行与shell脚本编程大全 第2版》、《Linux shell脚本攻略第2版》

  • 相关阅读:
    团队项目-第一阶段冲刺7
    团队项目-第一阶段冲刺6
    Spring Boot 揭秘与实战(七) 实用技术篇
    Spring Boot 揭秘与实战(七) 实用技术篇
    Spring Boot 揭秘与实战(六) 消息队列篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(五) 服务器篇
    Spring Boot 揭秘与实战(四) 配置文件篇
  • 原文地址:https://www.cnblogs.com/e-shannon/p/15165668.html
  • Copyright © 2020-2023  润新知