如何控制台输出所选文件集中的所有文件?

How to console output all files from selected fileset?

我刚开始使用 Ant 脚本,所以我不确定我问的问题是否正确,但问题是:

我有一个脚本可以从指定目录中的单个文件中找到 RegEx 模式并替换它,但我想在控制台上输出所选文件的列表。

我已成功创建用于搜索和替换的脚本,没有任何问题,而且我已经知道更改的文件数量(不到 5000 个文件)。现在我正在尝试输出文件列表,但控制台中显示的文件数量要少得多(不到 600 个文件)。我不确定是否只是文件数量太多无法在控制台上输出,或者我的脚本需要工作

这是我必须输出结果的代码:

    <target name="find">
        <path id="find.path">
            <fileset dir="${custom.dir}">
                <include name="**/*.js"/>
                <include name="**/*.jsp"/>
                <include name="**/*.xml"/>
                <include name="**/*.css"/>
                <include name="**/*.java"/>
                <containsregexp expression="(YEAR|DATE)(?:\s*2016,\s)"/>
            </fileset>
        </path>
        <pathconvert pathsep="${line.separator}--> "             
                property="echo.path.compile"             
                refid="find.path">
        </pathconvert>
        <echo>${echo.path.compile}</echo>
    </target>

假设您的 Ant 的 XML 文件是 find.xml,其中包含您提供的上述代码,并且您的文件的 custom.dir/Desktop/Files.

以下是使用 Bash shell:

的步骤
  1. find.xml

  2. 的同一目录中创建一个名为 find.sh 的文件
  3. file.sh 中放入以下内容(您 不能 在下面的代码中使用 ${custom.dir} 作为参考):

    for f in /Desktop/Files/*; do 
      echo $f;
      ant -f find.xml find;
    done 
    

它的作用是遍历文件目录中的每个文件,无论扩展名是什么,它回显文件名及其位置,然后使用目标 find 执行 find.xml

您 运行 来自终端的 find.sh 文件,例如 ./find.sh