sed 搜索并替换包含斜杠的变量

sed 搜索并替换包含斜杠的变量

我正在尝试用变量替换文本文件中的字符串。

我正在使用这个代码:

sed -i "s/search text \/TAG\//replace text ${variable}/" ${textfile}

变量的内容是/newTAG/。而变量的内容就是问题,更准确地说是/开头和结尾的 。

当两者都/被删除时,内容就newTAG全部正常了。

我已经尝试过以下

sed -i "s/search text \/TAG\//replace text "${variable}"/" ${textfile}
sed -i 's/search text \/TAG\//replace text "${variable}"/' ${textfile}

有人能帮帮我吗?谢谢

答案1

使用除正则表达式的分隔符之外的其他字符/(例如冒号:):

sed -i "s:search text /TAG/:replace text ${variable}:" "${textfile}"

/或者在变量中转义。

相关内容