如何删除所有文件超过3天的时候“参数列表太长”前辈?(How to delete all files

2019-07-19 09:48发布

我有一个具有82000页的文件和目录在它(约各占一半)日志文件目录。

我需要删除所有文件,哪些是超过3天以上的目录。

在一个其中有37000个文件的目录,我能够跟这样做:

find * -mtime +3 -exec rm {} \;

但随着82000的文件/目录,我得到的错误:

在/ usr /斌/发现:参数列表太长

我怎样才能解决这个错误,这样我可以删除所有文件/目录是超过3天的?

Answer 1:

要删除当前目录中的所有文件目录:

find . -mtime +3 | xargs rm -Rf

或替代,更符合OP的原始命令行:

find . -mtime +3 -exec rm -Rf -- {} \;


Answer 2:

也可以使用:

find . -mindepth 1 -mtime +3 -delete

不删除目标目录



Answer 3:

对于原来的问题的另一个解决方案,ESP。 有用的,如果你只想删除一些旧文件的文件夹中,将水木清华这样的:

find . -name "*.sess" -mtime +100 

等..行情阻止shell通配符,从而让您在“发现”数以百万计的文件:)



文章来源: How to delete all files older than 3 days when “Argument list too long”?