我如何在 Apache Ant 中仅过滤掉不以 INSERT 开头的行,就像我认为使用 grep 可能(见下文)一样。
cat specialtable.inserts.sql | grep INSERT > specialtable.inserts.ONLY.sql
我如何在 Apache Ant 中仅过滤掉不以 INSERT 开头的行,就像我认为使用 grep 可能(见下文)一样。
cat specialtable.inserts.sql | grep INSERT > specialtable.inserts.ONLY.sql
您可以使用linecontains或linecontainsregexp过滤器阅读器
<copy file="specialtable.inserts.sql" tofile="specialtable.inserts.ONLY.sql">
<filterchain>
<linecontains>
<contains value="INSERT"/>
</linecontains>
</filterchain>
</copy>
如果您想过滤文件以包含所有包含INSERT、UPDATE或DELETE的行,请使用linecontainsregexp
:
<copy file="specialtable.inserts.sql" tofile="specialtable.inserts.ONLY.sql">
<filterchain>
<linecontainsregexp>
<regexp pattern="INSERT|UPDATE|DELETE"/>
</linecontainsregexp>
</filterchain>
</copy>
您还可以使用casesensitive
属性和更复杂的 REGEX 表达式来确保行以这些单词开头。