我想删除包含特定关键字的文本文件中的所有行.
到目前为止我只发现:
<linecontains>
<contains value="assert"/>
</linecontains>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何删除这些行.
sud*_*ode 27
您可以在过滤链中,在支持过滤链元素的任务中使用该过滤器,即内置的Concat,Copy,LoadFile,LoadProperties,Move任务.
因此,例如,使用包含linecontains过滤器的过滤链复制或移动文件.
使用过滤器negate上的参数linecontains排除包含该字符串的行.
例:
<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>
Run Code Online (Sandbox Code Playgroud)
之前:
$ cat file.txt
abc
assert
def
assert
ghi assert
jkl
Run Code Online (Sandbox Code Playgroud)
后:
$ cat file.txt.edit
abc
def
jkl
Run Code Online (Sandbox Code Playgroud)
要回答有关应用目录中所选文件的后续问题:
<copy todir="dest">
<fileset dir="src">
<include name="**/*.txt"/>
</fileset>
<filterchain>
<linecontains negate="true">
<contains value="assert"/>
</linecontains>
</filterchain>
</copy>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9554 次 |
| 最近记录: |