我正在尝试用变量替换文本文件中的字符串。
我正在使用这个代码:
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}"
/
或者在变量中转义。