使用makefile中的sed替换其中带有$的字符串

时间:2017-12-24 05:13:34

标签: sed makefile

我有一个简单的sed替代文本文件:

sed -i 's/Temp_3/$t0/g' ./somefile.txt

当我在bash脚本中使用它时,所有都可以正常工作。 但是,如果我尝试使用同一行来自makefile , $ t(可能)扩展为空字符串 (makefile中没有名为t的变量)和 Temp_3替换为0.解决此问题的最佳方法是什么? 谢谢!

1 个答案:

答案 0 :(得分:2)

首先做的是取代, 在您的情况下$t没有任何内容,然后运行命令。 您可以或应该;)通过更改您的命令来解决此问题,如下所示:使用$更改$$; make会将双$符号替换为单个符号。

sed -i 's/Temp_3/$$t0/g' ./somefile.txt