`find`命令核心转储在文件过多的目录中。

问题描述 投票:0回答:1

我有一个文件夹,里面包含了很多文件夹,即使是基本的命令,如 dufind 正在崩溃。我想清理一些旧的文件... 但很明显我不能用它的 find 命令...


# find /opt/graphite/storage/whisper -mtime +30 -type f -delete
Aborted (core dumped)

我可以用什么命令或技巧来删除该文件夹中的文件,因为...。find 不工作?

linux find
1个回答
0
投票

我相信最好的方法是使用一个简单的for-loop:问题是...。find 将所有找到的信息加载到内存中,只有完成了这一切,才开始删除。不过,通过循环可以解决这个问题。

for f in $(ls -a)
do 
  if <check_last_modification_date>($f)
  then rm -r $f
  fi
done

关于最后一次修改日期的检查,有很多方法可以做到这一点,就像解释的那样 此处.


0
投票

对于 find 命令,使用 -exec 选项对我来说可以删除文件。

# find /opt/graphite/storage/whisper -mtime +30 -type f -exec rm -f {} \;
© www.soinside.com 2019 - 2024. All rights reserved.