replace 可以替换某个文件中的字符串。
<?xml version="1.0" encoding="UTF-8"?>
<project name="testCondition">
<replace file="testfile1.txt" token="hello" value="world"/>
</project>
结果就把 testfile1.txt 中的 "hello" 替换成了 "world".
也可以批量处理:
<?xml version="1.0" encoding="UTF-8"?>
<project name="testCondition">
<replace dir="." includes="*.txt" encoding="UTF-8">
<replacefilter token="this" value="that"/>
<replacefilter token="o" value="00"/>
</replace>
</project>
就把当前文件夹下面所有 txt 文件按照指定的 filter 替换了。
我的一个例子:
<?xml version="1.0" encoding="UTF-8" ?>
<!--
替换static域名,
修改default属性,
替换成开发环境:replaceToDev
替换成“演示”环境:replaceToYs
-->
<project name="static" default="replaceToDev" basedir="../">
<!--要替换的内容-->
<property name="dev" value="http://static.domain.com/" />
<property name="ys" value="http://ysstatic.domain.com/" />
<!-- 替换为开发 -->
<target name="replaceToDev">
<replace dir="${basedir}/WebContent" token="${ys}" value="${dev}" includes="**/*.css,**/*.js,**/*.html"/>
</target>
<!-- 替换为“演示”-->
<target name="replaceToYs">
<replace dir="${basedir}/WebContent" token="${dev}" value="${ys}" includes="**/*.css,**/*.js,**/*.html"/>
</target>
</project>
ant的replace也支持正则表达式