我正在尝试列出音乐库中所有小于5mb的目录。我在终端中尝试了以下命令:
find /volume1/Music Library/ -type d -size -5M -print;
但它只列出了数千个目录,当然我检查过的少数目录要大得多。为了得到这个命令,我修改了另一个我经常用来查找空目录的命令:
find /volume1/Music Library/ -type d -empty -print;
对于这一个,在我验证它是正确的之后,我将-print;
替换为-delete
,并正在寻找基于目录大小的类似体验。我不希望自动删除(希望(明显的原因。
我在终端中通过SSH到我的Synology NAS来做这件事,该NAS运行基于Linux的操作系统。
根据find
命令的手册,-size
参数仅适用于文件:
-size n[cwbkMG]
File uses n units of space. The following suffixes can be used:
使用find
、du
和awk
:
find /volume1/Music Library/ -type d -exec du -ms {} ;| awk '$1 < 5'|cut -f 2-
这将列出总内容小于5M的所有目录。
编辑:
如果您想删除预期的目录,可以在命令行末尾添加| xargs -d \n rm -rf
:
find /volume1/Music Library/ -type d -exec du -ms {} ;| awk '$1 < 5'|cut -f 2- | xargs -d \n rm -rf