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