在 Ubuntu 中删除空文件,同时保留非空的 4KB 文件

在 Ubuntu 中删除空文件,同时保留非空的 4KB 文件

我有一个文件夹,里面有数十万个 4kb 大小的 .txt 文件。其中一些是完全空的,而另一些则不是。但是,它们都显示相同的大小 4kb,因为这是配置的最小块大小。有没有办法大量删除空文件,但保留非空文件?执行

rsync --remove-sent-files -rv --min-size=4kb

删除所有内容。

谢谢

答案1

我想我找到了部分答案。如果我们假设一个内容为空的 txt 文件至少有一个隐藏字符,那么有人可以找到所有大小小于特定字节数的文件并删除这些文件。例如,如果我们想删除所有大小为 1 字节的文件,我们可以发出:

find . -type f -size -2c -delete

答案2

当使用 查看时,真正空的文件将显示 0 字节ls -l

您可以使用以下方法删除它们find(阅读man find https://manpages.ubuntu.com/manpages/cosmic/en/man1/find.1.html):

find folder -maxdepth 1 -type f -name '*.txt' -size 0 -delete

相关内容