如何获得超过一定大小的所有文件并删除它们

  1. 我正在寻找一个Linux命令来从当前目录及其子目录中获取超过一定大小的所有文件。

  2. 什么是最简单的方法来删除所有这些文件?

类似于exec rm答案,但不需要每个找到的文件的进程:

find . -size +100k -delete 

一内胆:

 find . -size +100k -exec rm {} \; 

第一部分( find . -size +100k )查找所有从当前目录( . )开始超过( +100k字节( 100k )的文件。

第二部分( -exec rm {} \; )在每个找到的文件上调用给定的命令。 {}是当前文件名的占位符,包括路径。 \; 只是标志着命令的结束。

请记住,始终通过运行原始find来检查您的过滤标准是否正确:

 find . -size +100k 

或者,您甚至可以在删除之前制作备份副本:

 find . -size +100k -exec cp --parents {} ~/backup \; 

在zsh :

 ls -l *(Lk+100) # list file size greater than 100kb 

所以:

 rm *(Lk+100) 

更多zsh善良在这里 。