我有一个属性文件:
custom.properties
这个属性文件的内容是:
id=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME
id
的值是一个长随机字符串。
我想做一个Ant脚本来替换/覆盖 id
的值到另一个,我尝试了Ant <replace>
语法:
<target name="change-id">
<replace file="custom.properties" token="id" value="aaa" />
</target>
我运行ant change-id,属性文件的内容变成:
aaa=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME
键"id
"被替换,而不是它的值。但是我需要将值替换为"aaa",如何在Ant中实现这一点?
请不要建议我将token
设置为id
的随机值,因为该值是随机生成并放在那里的。我只想用Ant脚本覆盖"id
"的随机值,如何实现这一点?
您可以使用replaceregexp
任务来完成。试着像下面这个例子
conf.ini (utf - 8)
aaa=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME
build . xml
<project name="regexp.replace.test" default="test">
<target name="test">
<replaceregexp file="conf.ini" match="^aaa=.*" replace="aaa=newId" encoding="UTF-8" />
</target>
</project>
我不知道这个正则表达式是否正确,但你可以这样做