Ant 删除文本文件中特定关键字后的所有行

Ant delete all lines from text file after a certain keyword

是否可以使用 Ant 删除文本文件中特定关键字之后的所有文本行? - 在关键字第一次出现之后。 示例

Line1
Line2
Line3
Line4
Line5
.....
Line1000

我想删除该文件中 "Line3" 关键字之后的所有内容,不包括该行。

A​​nt 的 replaceregexp 任务可以很容易地处理这个问题:

<replaceregexp
    file="input.txt" 
    match="(.*Line3).*"
    replace=""
    flags="s"
/>

简要说明:正则表达式模式将 "Line3" 之前的所有内容捕获到一个组中,然后继续匹配输入的其余部分。替换仅包含捕获的组,有效地删除了您不需要的部分。 s 标志打开,以便换行符与 . 通配符匹配。