查找目录下特定文件类型占用了多少文件空间?

查找目录下特定文件类型占用了多少文件空间?

我有一个 samba 共享,里面有我的音乐,我想知道 mp3 文件(不包括与我的音乐混合的任何内容,如图片或视频,或任何其他文件类型,如 flac 或 aac 或 ogg)占用了多少磁盘空间。我尝试过 baobab、gdmap 和 ncdu,但并不想安装所有 KDE 来尝试 filelight(它看起来也做不到这一点)。

我可以得到一个要移动的所有内容的大列表(find ~/moremusic -name "*.mp3"),但据我所知,这并不是很有帮助。如果我做类似的事情,du -a ~/moremusic | grep ".mp3"我会得到一个完整的大列表,每行都以文件大小(以 KB 为单位)开头。只需将其加起来,我就可以开始了,但我不知道最好的方法是什么。

答案1

bash 4.x

shopt -s globstar; du **/*.mp3 | awk '{sum+=$1}END{print sum}'

find

find . -type f -name "*.mp3" -exec du {} + | awk '{sum+=$1}END{print sum}'

答案2

给出以字节为单位的总大小:

echo $(($(find ~/moremusic -name "*.mp3" -printf %s+)0))

使用 find 创建一个以“+”结尾的独立字节大小的字符串。该字符串以“0”结尾,以防止 shell 抱怨空运算符,并被提供给内置的 shell 计算器函数。

相关内容