我正在使用Ant ReplaceRegExp任務來替換超過10,000個文件中的文本。每個文件都有多個我需要執行的搜索/替換模式。截至目前,有多個塊,每個塊的文件集都是「**/*。java」。Ant ReplaceRegExp任務 - 每個文件有多個替換?
當我搜索/替換的東西列表增長時,這需要永遠運行,因爲它將在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」的文件。
謝謝。
這將返回一個錯誤:** tokenfilter不支持嵌套的「replaceregexp」元素** – Heinz
@ Heinz感謝您指出這個錯誤,這是一個錯字...我糾正了這個例子,現在它可以工作... –