我想用 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
我想用 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
使用简单引号(用双引号$is
替换为 bash 变量 $is 的内容,即 ''):
echo 'This {$is} a test to replace a tag' | sed 's/{$is}/was/g'
可能您正在使用 bash,它看到$is
并试图将其替换为变量。如果您将字符串用单引号引起来,它将被视为文字。此外,您还为您的正则表达式添加了一大堆额外的转义。echo 'This {$is} a test to replace a tag' | sed -e 's/{$is}/was/'
将返回您所期望的。