查找目录下文件空间特定文件类型的数量?


2

我有一个samba分享我的音乐,我想知道多少磁盘空间只有mp3文件(没有任何东西混合我的音乐像图片或视频,或任何其他文件类型,如flac或aac或ogg )正在接受。我已经尝试了baobab,gdmap和ncdu,并且真的不想基本上安装所有KDE来尝试filelight(看起来它看起来不像这样)。

我可以得到所有将要移动的大清单( find ~/moremusic -name "*.mp3" ),但AFAIK并不完全有用。如果我做的事情 du -a ~/moremusic | grep ".mp3" 我得到一个完整的大列表,每行以KB中的文件大小开头。只需要加起来,我就会好起来,但我不知道最好的方法。

Answers:


2

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}'

这是天才,谢谢。将它作为函数添加到我的shell中。
Rob

0

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

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

使用find创建一个以“+”结尾的单独字节大小的字符串。该字符串的结尾为“0”以防止shell抱怨空操作符,它被赋予内置的shell计算器函数。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.