我正在编写一个 ant 脚本来清理存档文件夹
以下是我需要清理的方法:我需要删除超过一定天数的旧文件夹,并且其中包含超过 3 个文件。例如,如果某个文件夹已有 300 天的历史,但只有 3 个文件,则该文件夹不会被删除。
我知道我可以通过 ssh 进入存档并执行以下操作find -mtime +365 -exec rm -rf {} ;\
删除超过 1 年的文件,但我不知道如何计算至少 3 个文件
我也知道find -type f | wc -l
将列出文件的数量,但这对脚本编写并没有真正的帮助
有任何想法吗?
ANT 选择器 http://ant.apache.org/manual/Types/selectors.html使您能够自定义要删除的文件集。
请尝试以下操作:
<target name="purge">
<tstamp>
<format property="touch.time" pattern="MM/dd/yyyy hh:mm aa" offset="-300" unit="day"/>
</tstamp>
<delete>
<fileset dir="${src.dir}">
<date datetime="${touch.time}" when="before"/>
<scriptselector language="javascript"><![CDATA[
if (file.getParentFile().list().length > 3) {
self.setSelected(true);
}
else {
self.setSelected(false);
}
]]> </scriptselector>
</fileset>
</delete>
</target>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)