make文件中的sed命令带有硬编码$

时间:2017-05-26 06:25:24

标签: linux sed makefile special-characters quoting

我的makefile中有一个sed命令,如下所示,命令的目的是,它应该替换字符串" listen $ address" to""但结果它正在取代"听$ address"到" $地址"

sed -i -e "s/listen $$address//" file.txt

请建议任何解决方案。 我检查了很多帖子但是$用作正则表达式变量,在我的情况下它需要被视为硬编码字符串

1 个答案:

答案 0 :(得分:1)

将sed命令括在单引号中以避免variable expansion within double quotes

sed -e -i 's/listen $address//' file

您可以通过转义$

来使用双引号
sed -e -i "s/listen \$address//" file