读取一组文件的内容,并检查文件在Ant中是否存在



我是Ant的新手,我不太清楚如何做以下操作(如果可能的话):我有这样的基本代码:

<copy todir="${mydir}">
    <fileset dir="${mydir2}" includes="**/*.html" />
        <filterchain>
            <replaceregex pattern="bla" replace="pla"/> <!-- regex1 -->
            <replaceregex pattern="doh" replace="dah"/> <!-- regex2 -->
        <filterchain>
</copy>

在fileset任务递归的文件夹中,我有一堆html文件,有些包含到现有文件的链接,有些包含到不存在文件的链接。

现在我要做的是:

  1. 读取文件集的每个文件,提取它们都包含的特定链接。
  2. 查看该链接是否指向现有文件。
  3. 如果是,我应用regex1。
  4. 如果没有,我应用regex2删除死链接。

所以有一些东西:条件,从文件中检索数据到Ant以在其他任务中使用它,这似乎是不可能做到的!

谢谢你的帮助

使用filterchain与tokenfilter replaceregex, f.e:

<copy todir="${mydir}">
 <fileset dir="${mydir2}" includes="**/*.html"/>
  <filterchain>
   <tokenfilter>
    <!-- regex 1 -->
    <replaceregex pattern="hello" replace="world" flags="gi"/>
    <!-- regex 2 -->
    <replaceregex pattern="doh" replace="dah"/>
   </tokenfilter>
  </filterchain>
</copy>

似乎ant -contrib有一个任务,允许您检索regexp的结果并将其存储在ant属性中,该属性将确保测试文件的存在性,然后继续执行提供的switch语句。

相关内容

  • 没有找到相关文章

最新更新