我有一个属性文件:
的 custom.properties 的
此属性文件的内容为:
id=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME
id
的值是一个长随机字符串。
我想创建一个 Ant 脚本,以替换/覆盖 id
的值到另一个,我尝试使用Ant {{1}语法:
<replace>
我运行ant change-id,属性文件的内容变为:
<target name="change-id">
<replace file="custom.properties" token="id" value="aaa" />
</target>
这是关键字“aaa=sf2j2345kkklljhlaasfsdfafsf543
name=SOME_NAME
”被取代而不是它的价值。但是我需要将值替换为“ aaa ”,如何在Ant中实现这一点?
请不要建议我将id
设置为token
的随机值,因为该值是随机生成并放在那里的。我只想用Ant脚本覆盖“id
”的随机值,如何实现呢?
答案 0 :(得分:1)
您可以使用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>
我不确切地知道这个正则表达式是否正确,但这是你可以做到的。