Я использую задачу Ant ReplaceRegExp, чтобы заменить текст более чем на 10 000 файлов. Каждый файл имеет несколько шаблонов поиска/замены, которые мне нужно выполнить. На данный момент есть несколько блоков, каждый с файловым набором «**/*. Java».Задача Ant ReplaceRegExp - несколько подстановок на файл?
Поскольку мой список вещей для поиска/замены растет, это выполняется навсегда, поскольку он будет выполнять ReplaceRegExp # 1 на 10k-файлах, а затем ReplaceRegExp2 на 10k-файлах и т. Д. У меня уже около 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, но показывает, что концептуально я ищу. Теперь я использую две группы - одну для «firstmatch/firstreplace» и одну для «secondmatch/secondreplace» в том же наборе файлов.
Спасибо.
это возвращает ошибку: ** tokenfilter не поддерживает вложенный элемент «replaceregexp» ** – Heinz
@Heinz Спасибо, что указали на эту ошибку, это была опечатка ... Я исправил пример, и теперь он работает ... –