AIX / Unix - 删除超过x天的文件

时间:2017-07-26 16:14:59

标签: unix aix xargs rm

我已经在这个问题上苦苦挣扎了好几天了。这似乎很简单,但我似乎找不到完成这个(看似)简单任务所需的正确命令或参数。我需要删除x天以前的目录中的通配文件。我尝试了以下无效,我想知道通配符是否可能是问题。

find /path/to/files/ -name file_* -mtime +45 -exec rm '{}' +
find /path/to/files/ -name file_* -mtime +45 -exec rm {} ;\
find /path/to/files/ -name file_* -mtime +45 | xargs rm

查找工作正常,它列出了正确的文件。这是删除无效。

3 个答案:

答案 0 :(得分:0)

我意识到以下代码适合我:

find /path/to/files/ -name file_* -mtime +45 -exec rm '{}' +

答案 1 :(得分:0)

您需要将通配符传递给;,方法是保护它不受shell扩展的影响,并将最终find /path/to/files/ -name "file_*" -mtime +45 -exec rm {} \; 取消指定:

aptitude versions python-protobuf

答案 2 :(得分:0)

对于AIX 6.1,需要稍作更改。包括详细的解释(警告)

查找。 / path / to / files / -name“ Files *。*” -mtime +45 -exec

该点是必需的。对于“文件*。”,将使用您的名称。我的文件夹是一个自定义报告文件夹,文件的日期包含在名称中。但是所有报告均以“每日”开头。所以我有“每日”。每天我们生成2个报告。特定的报告名称夹在“每日”和文件名称中生成日期之间。所以Daily 。*可以全部解决。我使用“ ”失败。这可能特定于我们正在使用的AIX 6.1。 AIX命令可能因版本而异。

祝你好运!