shell脚本的sed命令使用小结

今天写了一个脚本,主要是完成一个文件内容的插入与替换,所以用到了sed命令,下面是脚本中用到的四个sed命令;

第一条命令:

content里面含有$,/等特殊字符

sed -i '/<properties>/a\'"`echo ${content}`"  config.xml

第二条命令:

b=http://www.baidu.com

sed -i 's#${jenkinsVo.reposUrl}'#${b}#g    config.xml

第三条命令:

sed -i '/<remote>/d'   config.xml

第四条命令:

sed -i '/<hudson.scm.SubversionSCM_-ModuleLocation>/a\<remote>${reposUrl}${revision}</remote>'   config.xml

第一条命令中是一个插入命令,第四条也是同样的,但第四条中的插入字符串不是一个变量,所以按照sed的正常语法写就可以了,第一条命令中的插入字符是一个变量,而且变量中还含有特殊字符,如果是想变量里面的内容当成普通字符串操作,就需要如第一条那样写,如果不是,则可以直接写成“${content}”

第二条命令中的替换字符含有/,这个是sed用来做分隔符的,所以会导致替换出现问题,sed也支持#做分隔符,所以此处用#来做分割,顺利解决问题;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值