1

我如何在 Apache Ant 中仅过滤掉不以 INSERT 开头的行,就像我认为使用 grep 可能(见下文)一样。

cat specialtable.inserts.sql | grep INSERT > specialtable.inserts.ONLY.sql
4

1 回答 1

1

您可以使用linecontainslinecontainsregexp过滤器阅读器

<copy file="specialtable.inserts.sql" tofile="specialtable.inserts.ONLY.sql">
  <filterchain>
    <linecontains>
      <contains value="INSERT"/>
    </linecontains>
  </filterchain>
</copy>

如果您想过滤文件以包含所有包含INSERTUPDATEDELETE的行,请使用linecontainsregexp

<copy file="specialtable.inserts.sql" tofile="specialtable.inserts.ONLY.sql">
  <filterchain>
    <linecontainsregexp>
       <regexp pattern="INSERT|UPDATE|DELETE"/>
    </linecontainsregexp>
  </filterchain>
</copy>

您还可以使用casesensitive属性和更复杂的 REGEX 表达式来确保行以这些单词开头。

于 2013-01-27T02:40:58.243 回答