shell脚本 sed替换shell脚本某一行内容的用法

今天接到这样的一个需求 要求开发和生产环境执行的start和stop脚本不一样 (开发脚本带上skywalking和jvm监控 产品环境不带)

  • sed -i ‘s/oldString/newString’ filepath
  • sed -i ‘s/oldString/newString/g’ filepath
  • 分别是 第一个:替换filepath的oldString为newString 第二个:替换filepath的每一个oldString为newString

oldSring可以正则匹配 例如ps -ef.* 就是匹配ps -ef开头的一行

    ###########################替换atd-webcore.sh中的执行脚本#################
    msg1="ps -ef | grep geyecloud-web | grep -v grep | awk '{print $2}' | xargs kill -9 \&"
    sed -i "s/ps -ef.*/${msg1}/" ./bin/atd-webcore.sh
    msg2="nohup java -XX:+UseG1GC -Xms2048M -Xmx6096M -XX:MaxGCPauseMillis=50 -jar \${jar_dir}\/geyecloud-web-2.0.0.jar 2\>\&1 \&"
    sed -i "s/nohup java.*/${msg2}/" ./bin/atd-webcore.sh

注意 特殊字符要加转义字符\ 例如& "

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值