zoukankan      html  css  js  c++  java
  • sed替换文本

    [root@localhost.localdomain  home]#cat test
    ###   @2=1492785988 /* INT meta=0 nullable=0 is_null=0 */
    ###   @3=3598278656 /* LONGINT meta=0 nullable=0 is_null=0 */
    

      

    要将test文件中@2=1492785988内容保留,首位的内容都去掉

    [root@localhost.localdomain  home]#sed -i.bak '/^###/{s/^### *//;s#/*.**/##;}' test
    

      

    因为有特殊字符*,需要脱意,/*.**/  这段的意思就是匹配/*  这里是正则.* 贪婪匹配   */   然后替换成空

    这里最大的亮点是-i.bak 这个用法,以前一直只知道-i参数直接修改源文件,但-i.bak  可以备份

    执行后,发现会多了一个test.bak备份文件

    [root@localhost.localdomain  home]#ls
    test  test.bak
    

      test.bak文件即为源文件

    ========================================

    补充:

    sed --help

    -i[SUFFIX], --in-place[=SUFFIX]
    edit files in place (makes backup if SUFFIX supplied)

    发现参数,后面有[SUFFIX],表示后缀,即i.bak,支持备份文件

    或者写成

    sed --in-place=.bak '/^###/{s/^### *//;s#/*.**/##;}' test

    测试成功

  • 相关阅读:
    html集合
    pyautocad
    CAD 批量提取点坐标,实现坐标的快速提取
    CAD
    python模块
    set,get,setter
    1 Http的表皮
    (6)小项目------完善增删改查的操作
    SSM学习笔记(6)---拦截器
    SSM学习笔记(5)-CGLIB动态代理
  • 原文地址:https://www.cnblogs.com/irockcode/p/7008777.html
Copyright © 2011-2022 走看看