例如:
drwxrwxr-x 6 test test 4096 Aug 26 14:42 2.1.6-SNAPSHOT_201408261440_1
drwxrwxr-x 6 test test 4096 Sep 1 05:13 2.1.6-SNAPSHOT_201408281233_1
drwxrwxr-x 6 test test 4096 Sep 1 10:06 2.1.6-SNAPSHOT_201409011001_1
drwxrwxr-x 6 test test 4096 Sep 1 15:58 2.1.6-SNAPSHOT_201409011554_1
drwxrwxr-x 6 test test 4096 Sep 2 15:11 2.2.0-SNAPSHOT_201409021508_1
drwxrwxr-x 6 test test 4096 Sep 2 15:18 2.2.0-SNAPSHOT_201409021515_1
drwxrwxr-x 6 test test 4096 Sep 5 13:05 2.2.0-SNAPSHOT_201409051303_1
drwxrwxr-x 6 test test 4096 Sep 5 15:32 2.1.6-SNAPSHOT_201409051528_1
drwxrwxr-x 6 test test 4096 Sep 8 11:54 2.1.6-SNAPSHOT_201409081152_1
我应该能够删除此路径中创建时间早于N天的所有文件夹。内部文件夹可能有更新的文件/子目录是新的,没关系。
答案 0 :(得分:3)
假设您要删除旧目录:
N=4
find . -type d -mtime +$N -exec rm -fr {} +
深度优先搜索将确保在包含子目录的目录之前删除子目录,但最终可能会在find
查看之前更改目录上的修改时间,这意味着目录老了不再算老了。但是,相反,rm
最终可能会尝试删除已删除的目录,但-f
选项可确保此操作不会以错误报告结束。
您可能需要咨询Explaining find … -mtime
command,了解有关+$N
vs -$N
vs $N
(其中假设N
包含数字)的含义的信息