我怎样才能recursion删除旧文件和修剪结果空目录?

我们使用AIX服务器来存放嵌套目录结构中成千上万个小文件。 我试图编写一个脚本,recursion删除旧文件,然后删除包含的目录,如果这是目录中的最后一个文件。

举例来说,假设任何超过60天的文件都是“旧的”。

这听起来很简单,但我已经环顾一下,找不到解决办法。 是否有一些find和它的标志的组合,也许用rmdirpipe道,将完成上述?

你说你在AIX上。 我认为如果我没有错,那么基本的shell命令将会诀窍。

 find /path/to/files* -mtime +60 -exec rm {} \; find /path/to/files -type d -exec rmdir 2>/dev/null {} \; 

如果您通过修改时间超过60天来定义“年龄大于”,则以下命令将删除您的旧文件:

 find /your/dir -mtime +60 -exec rm -f {} \; 

修剪空目录你可以使用这个命令:

 find /your/dir -type d -exec rmdir {} \; 

它不会完全find空目录,但是由于rmdir不会删除包含文件的目录,所以它只会删除空目录。