我已经挣扎了一段时间,经过大量的搜索,我决定是时候寻求专家的帮助了。
我试图删除目录/filestodelete
中的所有文件,并在文件/something/deletions.log
中记录它们,到目前为止,我得出了以下结论:
find /filestodelete -mtime +93 -exec sh -c 'rm -rfv {}' > "/something/deletions.log"
当我尝试运行此程序时,收到的错误是:
find: missing argument to `-exec'
(我将/something/deletions.log放在引号中,因为它实际上可能有空格—它由另一个bash脚本调用)。
提前谢谢你的帮助。
最佳答案
find正在抱怨,因为它在末尾缺少一个\;
或+
。
find /filestodelete -mtime +93 -exec sh -c 'rm -rfv {}' > "/something/deletions.log" \;
不需要
sh
子外壳:find /filestodelete -mtime +93 -exec rm -rfv {} + > /something/deletions.log