• sed 大括号 sed {} 的作用详解


    今天看别人写的脚本的时候,看到了sed  -r   {}   我看网上对于这个的记录比较少,所以就写了这篇随笔。

    先看一下效果

    cat  test.txt

    image: qqq/www/eee:TAG

    image: aaa/bbb/ccc:TAG

    sed -r '/image:/{/ccc/! s#image: ([^:]*):.*#image: 1:哈哈#g}'  test.txt

    image: qqq/www/eee:哈哈
    image: aaa/bbb/ccc:TAG

    可以看到第一行的TAG被替换成了哈哈。

    其实本来有最简单的方式:

    sed -r 's/(eee:)TAG/1哈哈/g' test.txt

    image: qqq/www/eee:哈哈
    image: aaa/bbb/ccc:TAG

    其实方式有很多,我今天主要说的是这个{}在sed里面的作用。

    首先sed 要想使用{} 就必须要加参数-r 这个是支持正则的意思,你可以写各种扩展正则。

    1,大括号其实就是可以放多个命令,每一个命令都可以执行,用;分隔。

        比如: sed  -r  '{s/aaa/bbb/g; s#qqq#xxx#g}'   aaa.txt

        这个的意思就是把aaa替换成bbb    qqq替换成xxx。

    总结:其实{}就是可以把多个规则放里面,用;分隔。

  • 相关阅读:
    RWCString 定义 memeroy leak
    打开eclipse报错
    Eclipse 增加php插件
    Shell 字符串的截取
    【转载】Shell判断字符串包含关系的几种方法
    Shell $? $* $@ 等含义
    Shell 获取指定行的内容
    概念性进程
    网络编程
    模块详解
  • 原文地址:https://www.cnblogs.com/fanfanfanlichun/p/14764913.html
Copyright © 2020-2023  润新知