在字符串替换期间使用sed替换变量

时间:2020-09-07 02:57:30

标签: bash sed

我有一个带有一行的xml文件:<includes>xyz</includes>

我必须像<includes>xyz abc/v1.2.3</includes>那样向xyz附加值

值abc / v1.2.3存储在变量中: stringReplace =“ abc / 1.2.3”

我正在尝试使用sed实现相同的目标

sed -i -e "s/<includes>xyz<\/includes>/<includes>xyz\ $stringReplace<\/includes>/g" localConfig.xml

但是,我得到的是“ sed:-e表达式#1,字符41:'s'的未知选项”。

请帮助或其他任何方式。

1 个答案:

答案 0 :(得分:2)

如果变量或文件中有斜杠/,则使用其他分隔符(在这里我使用|)

 sed -i -e "s|<includes>xyz</includes>|<includes>xyz $stringReplace</includes>|g" localConfig.xml