特定のキーワードを含むテキストファイルからすべての行を削除したいと思います。キーワードを含む行をファイルから削除する
<linecontains>
<contains value="assert"/>
</linecontains>
が、私はこれらの行を削除する方法がわからない:
これまでのところ私は発見しました。
特定のキーワードを含むテキストファイルからすべての行を削除したいと思います。キーワードを含む行をファイルから削除する
<linecontains>
<contains value="assert"/>
</linecontains>
が、私はこれらの行を削除する方法がわからない:
これまでのところ私は発見しました。
あなたはフィルターチェーン要素をサポートしているタスクには、filterchainでそのフィルタを使用すると、内蔵された、連結方式、すなわち、 、コピー、LoadFile、LoadProperties、移動タスク。
たとえば、linecontainsフィルタを含むフィルタチェーンを使用してファイルをコピーまたは移動します。
linecontains
フィルタでnegate
パラメータを使用して、その文字列を含む行を除外します。
例:後
$ cat file.txt
abc
assert
def
assert
ghi assert
jkl
::前
<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>
$ cat file.txt.edit
abc
def
jkl
ディレクトリに選択したファイルに適用するには、あなたのフォローアップの質問に答えるために:
<copy todir="dest">
<fileset dir="src">
<include name="**/*.txt"/>
</fileset>
<filterchain>
<linecontains negate="true">
<contains value="assert"/>
</linecontains>
</filterchain>
</copy>
ありがとう、もう1つ質問:私はこれをディレクトリ全体に適用し、特定のファイルタイプを調べるにはどうすればよいですか?例えば、私はこれをすべてのtxtファイルにしたいが、もちろんjpgファイルにはしたくない。 – clamp
コピーに[fileset](http://ant.apache.org/manual/Types/fileset.html)を使用して、含めるファイルを指定します。 – sudocode