Sed web项目的Makefile:如何正确使用占位符?

Sed web项目的Makefile:如何正确使用占位符?,sed,makefile,Sed,Makefile,应该很简单。我有一个web项目的makefile(不要问我为什么:): 我的目标是在app.js文件中包含make变量%VERSION%,我可以替换它,并将其包含到存档中,而不是更改原始文件(以便将来使用此变量)。到目前为止,我所发现的只是 sed -i -r "s/%VERSION%/`svnversion`/" js/app.js 这段代码完成了一半的工作。该行在处理后被修改,我不能第二次使用set。我怎样才能实现我的目标?谢谢。对于此类问题,我使用以下技巧: sed -i 's# *=.

应该很简单。我有一个web项目的makefile(不要问我为什么:):

我的目标是在app.js文件中包含make变量
%VERSION%
,我可以替换它,并将其包含到存档中,而不是更改原始文件(以便将来使用此变量)。到目前为止,我所发现的只是

sed -i -r "s/%VERSION%/`svnversion`/" js/app.js

这段代码完成了一半的工作。该行在处理后被修改,我不能第二次使用
set
。我怎样才能实现我的目标?谢谢。

对于此类问题,我使用以下技巧:

sed -i 's# *=.*//.*VERSION.*# = "`get_version`" // comment with word VERSION inside it#' myfile.ext
在myfile.ext中,我有:

some_variable = '1.2.3.45-r67' // comment with word VERSION inside it
所以每次我运行sed时,它都会得到实际的版本(日期、时间、分支等等),并且可以根据需要经常重复

some_variable = '1.2.3.45-r67' // comment with word VERSION inside it