byłoby użyć tego filtru w filterchain, w zadaniu, które obsługuje elementu filterChain, czyli wbudowany w Concat , Copy, LoadFile, LoadProperties, Move tasks.
Na przykład, skopiuj lub przenieś plik przy użyciu łańcucha filtrów zawierającego filtr linecontains.
Użyj parametru negate
w swoim filtrze linecontains
, aby wykluczyć linie zawierające ten ciąg.
Przykład:
<project default="test">
<target name="test">
<copy tofile="file.txt.edit" file="file.txt">
<filterchain>
<linecontains negate="true">
<contains value="assert"/>
</linecontains>
</filterchain>
</copy>
</target>
</project>
Przed:
$ cat file.txt
abc
assert
def
assert
ghi assert
jkl
Po:
$ cat file.txt.edit
abc
def
jkl
Aby odpowiedzieć na to nawiązanie pytanie na zastosowaniu do wybranych plików w katalogu:
<copy todir="dest">
<fileset dir="src">
<include name="**/*.txt"/>
</fileset>
<filterchain>
<linecontains negate="true">
<contains value="assert"/>
</linecontains>
</filterchain>
</copy>
dzięki, jeszcze jedno pytanie: w jaki sposób mogę zastosować to do całego katalogu i sprawdzić niektóre typy plików? na przykład chcę to zrobić dla wszystkich plików txt, ale oczywiście nie dla plików jpg. – clamp
Użyj [zestawu plików] (http://ant.apache.org/manual/Types/fileset.html) w kopii, aby określić pliki, które chcesz uwzględnić. – sudocode