我已经在这个问题上苦苦挣扎了好几天了。这似乎很简单,但我似乎找不到完成这个(看似)简单任务所需的正确命令或参数。我需要删除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
查找工作正常,它列出了正确的文件。这是删除无效。
答案 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命令可能因版本而异。
祝你好运!