如何删除目录中的所有空文件?

时间:2016-12-29 02:43:51

标签: linux shell rm

假设我有一个看起来像这样的目录:

-rw-r--r-- 1 some-user wheel 0 file1
-rw-r--r-- 1 some-user wheel 257 file2
-rw-r--r-- 1 some-user wheel 0 file3
-rwxr-xr-x 1 some-user wheel 212 file4
-rw-r--r-- 1 some-user wheel 2012 file5
.... more files here.

如果相关,则假设文件的名称比文件#。

更随机

如何在目录中只删除空文件(意味着文件中有0个字节),使用某种形式的rm和grep或sed?

2 个答案:

答案 0 :(得分:3)

最简单的方法是使用find测试和-empty操作运行-delete,例如:

find -type f -empty -delete

该命令查找当前目录及其子目录中的所有文件(-type f),测试匹配的文件是否为空,如果-delete返回,则应用-empty操作真

如果您想将操作限制在特定的深度级别,请使用-mindepth-maxdepth全局选项。

答案 1 :(得分:0)

命令是:

cd DirectoryWithTheFiles
rm -f $(find . -size 0)