添加到文件中的每一行



我试图在ant中做一些小的文件操作。我检索了一个表空间列表,我想用ALTER TABLESPACE加上NOT LOGGED,如下所示:

    <loadfile property="zos.prepend.tablespaces" srcFile="${basedir}/zos-tablespaces-DIRTY.txt">
      <filterchain>
        <!-- Order here is important -->
        <prefixlines prefix="ALTER TABLESPACE "/>
        <suffixlines suffix=" NOT LOGGED"/>
        <trim/>
        <replaceregex pattern=".*NAME.*|.*-----.*|.*record.*select.*|^ALTER TABLESPACE$" replace=""/>
        <trim/>
        <ignoreblank/>
      </filterchain>
    </loadfile>
    <echo file="${basedir}/zos-tablespaces-PREPEND.txt">
        ${zos.prepend.tablespaces}
    </echo>

当我这样做时,我得到了附加内容,但是附加内容似乎附加到下一行。有什么想法怎么做前缀和后缀吗?

我刚刚算出来了。如果在输入的每行末尾的CRLF之后添加后缀行,而不是在之前添加后缀行。所以我只需要在后缀之后清除CRLF。这就是最终成功的方法。现在我只需要让它更简洁一些

<filterchain>
  <tabstospaces/>
  <prefixlines prefix="ALTER TABLESPACE "/>
  <trim/>
  <replaceregex pattern=".*NAME.*|.*record.*select.*|.*-----.*|^ALTER TABLESPACE$" replace=""/>
  <suffixlines suffix=" NOT LOGGED @"/>
  <striplinebreaks/>
  <tokenfilter>
  <replacestring from="LOGGED @" to="LOGGED @${line.separator}"/>
  </tokenfilter>
  <tabstospaces/>
  <trim/>
  <replaceregex pattern="^NOT LOGGED @$" replace=""/>
  <tabstospaces/>
  <trim/>       
  <ignoreblank/>
  <fixcrlf eol="crlf" eof="add"/>
</filterchain>

相关内容

  • 没有找到相关文章

最新更新