我在过滤器链中使用过滤器,在支持过滤器链元素的任务中,即内置的 Concat、Copy、LoadFile、LoadProperties、Move 任务。
因此,例如,使用包含 linecontains 过滤器的过滤器链复制或移动文件。
在您的 linecontains 过滤器上使用 negate 参数来排除包含该字符串的行。
示例:考虑以下代码
<project default="test">
<target name="test">
<copy tofile="file.txt.edit" file="file.txt">
<filterchain>
<linecontains negate="true">
<contains value="[echo]"/>
</linecontains>
</filterchain>
</copy>
</target>
</project>
outputs:
$ cat file.txt
[echo] Your project1 location is: D:/Project/Project1
[echo] Your project2 location is: D:/Project/Project2
[script] my script running
[echo] Your project3 location is: D:/Project/Project3
[echo] Your project4 location is: D:/Project/Project4
$ cat file.txt.edit
[script] my script running
Expected:
$ cat file.txt.edit
Your project1 location is: D:/Project/Project1
Your project2 location is: D:/Project/Project2
[script] my script running
Your project3 location is: D:/Project/Project3
Your project4 location is: D:/Project/Project4
在这里,如果我使用过滤器链,那么完整的行将被删除。我只想要像 [echo]、[script]...等这样的词。应该被删除。