Комментарий Мартина указывает на способ удаления комментариев с помощью replaceregexp.(Я собирался показать вам аналогичную идею, но с использованием move, filterchain и striplinecomments. Но replaceregexp более компактен.)
Другое предложение, которое у меня есть, так как вы редактируете INI-файлы, возможно, вам следует использоватьзадача, предназначенная для этого, вместо того, чтобы использовать задачу PropertyFile .В ant-contrib есть IniFile taks, которые могут выполнить эту работу.
Если replaceregexp не работает для вас, потому что в вашем файле есть другие # комментарии, и вы хотите удалить тольков верхней строке, затем попробуйте это:
<target name="test">
<propertyfile file="test.properties">
<entry key="key" value="value"/>
</propertyfile>
<move file="test.properties" tofile="test.properties.tmp">
<filterchain>
<headfilter lines="-1" skip="1"/>
</filterchain>
</move>
<move file="test.properties.tmp" tofile="test.properties"/>
</target>
Вывод:
$ cat test.properties
one=1
# existing comment
$ ant
Buildfile: C:\tmp\ant\build.xml
test:
[propertyfile] Updating property file: C:\tmp\ant\test.properties
[move] Moving 1 file to C:\tmp\ant
[move] Moving 1 file to C:\tmp\ant
BUILD SUCCESSFUL
Total time: 0 seconds
$ cat test.properties
one=1
# existing comment
key=value