如何从目录中递归删除大小小于 1MB 的文件?
答案1
可以通过以下方式完成find
:
find . -type f -size -1M -exec rm {} +
注意,这将递归进入子目录,并将无条件删除所有小于 1 兆字节的文件。请小心。
答案2
这应该可以完成这项工作:
$ find <directory> -type f -size -1M -delete
答案3
只是为了多样性和可能的(可能是边际的)性能提升:
find <directory> -type f -size -1M -print0 | xargs -0 rm
答案4
您可以查看此链接http://ayaz.wordpress.com/2008/02/05/bash-quickly-deleting-empty-files-in-a-directory/,它正好有你想要的东西。
for file in *;
do
file_size=$(du $file | awk '{print $1}');
if [ $file_size == 0 ]; then
echo "Deleting empty file $file with file size $file_size!";
echo "rm -f $file";
fi;
done
您可以使用 for 循环遍历所有文件,然后使用 du 和 awk 查找文件大小,如上例所示。