我刚开始使用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
。
在与
find.xml
相同的目录下创建一个名为find.sh
的文件在
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
.