使用makefile中的sed替换一个带有$的字符串[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

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

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

当我在bash脚本中使用它时一切正常。但是,如果我尝试使用makefile中的同一行,则$ t(可能)扩展为空字符串(makefile中没有名为t的变量),Temp_3替换为0.什么是最好的方法解决这个?谢谢!

sed makefile
1个回答
2
投票

发生的事情就是首先进行替换,在你的情况下$t没有任何东西,然后运行命令。您可以或应该;)通过更改您的命令来解决此问题,如下所示:使用$更改$$; make将用单个替换双$标志。

sed -i 's/Temp_3/$$t0/g' ./somefile.txt
© www.soinside.com 2019 - 2024. All rights reserved.