我正在寻找一个Linux命令来从当前目录及其子目录中获取超过一定大小的所有文件。
什么是最简单的方法来删除所有这些文件?
类似于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善良在这里 。