You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sed命令替换含路径变量失败,求解决方案

解决sed替换含斜杠路径的语法错误问题

问题根源是你传入的路径包含斜杠/,而sed默认用/作为替换命令的分隔符,路径里的/会被误判为命令的分隔符,直接触发语法错误。

可行解决办法

方法1:更换sed替换命令的分隔符(推荐)

直接把替换命令的分隔符换成路径里不存在的字符,比如#或|,操作简洁不易出错:

用#作为分隔符:

sed -i "s#stg_area#$1#" /srv/ppc/abc.properties

用|作为分隔符:

sed -i "s|stg_area|$1|" /srv/ppc/abc.properties

方法2:转义路径中的斜杠(较繁琐)

先将变量$1里的/转义为\/,再传入sed命令:

escaped_path=$(echo "$1" | sed 's/\//\\\//g')
sed -i "s/stg_area/$escaped_path/" /srv/ppc/abc.properties

内容的提问来源于stack exchange,提问作者Tarique Hussain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:25:14