我想用SED替换smarty标签,但我无法克服这个问题
这是我到目前为止所做的:
echo "This {$is} a test to replace a tag" | sed -e 's/\\{\$is\\}/was/g'
这是上一个命令的结果:
This {} a test to replace a tag
这就是我实际想要归档{$ tags}的简单替换
This was a test to replace a tag
答案 0 :(得分:1)
使用简单引用(双引号$is
被替换为bash变量$ is的内容,即''):
echo 'This {$is} a test to replace a tag' | sed 's/{$is}/was/g'
答案 1 :(得分:1)
可能你正在使用bash看到$is
并尝试将其替换为变量。如果将字符串括在单引号中,则将其视为文字。此外,您已经为正则表达式添加了一大堆额外的转义。 echo 'This {$is} a test to replace a tag' | sed -e 's/{$is}/was/'
将返回您的期望。