这个问题在这里已有答案:
我有一个简单的sed替换文本文件:
sed -i 's/Temp_3/$t0/g' ./somefile.txt
当我在bash脚本中使用它时一切正常。但是,如果我尝试使用makefile中的同一行,则$ t(可能)扩展为空字符串(makefile中没有名为t的变量),Temp_3替换为0.什么是最好的方法解决这个?谢谢!
发生的事情就是首先进行替换,在你的情况下$t
没有任何东西,然后运行命令。您可以或应该;)通过更改您的命令来解决此问题,如下所示:使用$
更改$$
; make将用单个替换双$
标志。
sed -i 's/Temp_3/$$t0/g' ./somefile.txt