【问题标题】:Recursive deletion of base folder where all content is not modyfied older than n days递归删除所有内容未修改超过 n 天的基本文件夹
【发布时间】:2016-07-07 12:27:00
【问题描述】:

我有一些文件夹需要我经常注意: 目录1 目录2 目录3

我知道如果 10 天没有更换里面的任何东西,我可以安全地移除它们。但是怎么做呢? 我想使用“find /basedir/ -maxdepth 1 -mtime +10 -print | xargs -1 rm -f”

但这会删除那些尚未修改但即使在这些文件夹中已修改的目录。 dir1、dir2 或 dir3 中任何一个的不完整内容都是无用的,所以我需要根据完整内容的年龄来决定是删除整个 dir1-3 还是保留它。 有谁知道简单的方法吗?

【问题讨论】:

    标签: bash


    【解决方案1】:

    不要使用-maxdepth。在 for 循环中遍历目录:

    for dir in /basedir/dir{1,2,3} ; do
        if ! find "$dir" -mtime -10 | grep -q ^ ; then
            rm -rf "$dir"
        fi
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-08
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      • 2014-12-08
      • 2014-07-08
      • 1970-01-01
      相关资源
      最近更新 更多