Linux 删除超过 1 年的文件夹和超过 3 个文件

2024-02-06

我正在编写一个 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(使用前将#替换为@)

Linux 删除超过 1 年的文件夹和超过 3 个文件 的相关文章

随机推荐