我有一个 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 计算器函数。