【发布时间】:2016-08-01 16:52:51
【问题描述】:
我正在使用 Ant ReplaceRegExp 任务来替换 10,000 多个文件中的文本。每个文件都有我需要执行的多个搜索/替换模式。截至目前,有多个块,每个块都有一个“**/*.java”的文件集。
随着我要搜索/替换的内容列表的增加,这需要永远运行,因为它将在 10k 文件上执行 ReplaceRegExp #1,然后在 10k 文件上执行 ReplaceRegExp2,依此类推。我已经有大约 15 个 ReplaceRegExp 块,所以我的任务已经花费了大约 45 分钟。
有没有办法让每个文件只处理/访问一次,并且它对文件执行所有 15 次以上的正则表达式搜索/替换,而不是必须单独处理 15 次以上的文件?
本质上,寻找逻辑上是这样的东西:
<replaceregexp
match="firstmatch"
replace="firstraplce"
match="secondmatch"
replace="secondreplace"
etc..
byline="true">
<fileset dir=".">
<include name="**/*.java"/>
</fileset>
</replaceregexp>
这显然是无效的 XML,但从概念上显示了我正在寻找的内容。现在我在同一组文件上使用 2 个组 - 一个用于“firstmatch/firstreplace”,一个用于“secondmatch/secondreplace”。
谢谢。
【问题讨论】: