使用MakeFile的SED用其中的$替换字符串



我对文本文件有一个简单的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

最新更新