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

Ran*_*Ran 23 linux delete-file

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

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

Eri*_*rik 56

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

find . -size +100k -delete
Run Code Online (Sandbox Code Playgroud)


Tom*_*icz 14

一内胆:

find . -size +100k -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

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

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

请记住,通过运行raw来检查您的过滤条件是否合适find:

find . -size +100k
Run Code Online (Sandbox Code Playgroud)

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

find . -size +100k -exec cp --parents {} ~/backup \;
Run Code Online (Sandbox Code Playgroud)