com bash 4.x
shopt -s globstar; du **/*.mp3 | awk '{sum+=$1}END{print sum}'
com find
find . -type f -name "*.mp3" -exec du {} + | awk '{sum+=$1}END{print sum}'
Eu tenho um compartilhamento de samba com a minha música, e gostaria de descobrir quanto espaço em disco apenas os arquivos mp3 (nada misturado com a minha música, como fotos ou vídeos, ou qualquer outro tipo de arquivo, como flac ou aac ou ogg) estão tomando. Eu tentei o baobab, o gdmap e o ncdu, e realmente não quero basicamente instalar todo o KDE para testar o filelight (o que também não parece ser possível).
Eu posso obter uma lista grande do que tudo vai passar ( find ~/moremusic -name "*.mp3"
), mas o AFAIK não é totalmente útil. Se eu fizer algo como du -a ~/moremusic | grep ".mp3"
, obtenho uma lista inteira que cada linha começa com o tamanho do arquivo em KB. Só tem que ter isso somado e eu vou ser bom para ir, mas não tenho idéia da melhor maneira de fazer isso.
Dá o tamanho total em bytes:
echo $(($(find ~/moremusic -name "*.mp3" -printf %s+)0))
Usos encontrados para criar uma sequência de tamanhos de bytes separados que terminam com "+". Esta string, com um final "0" para evitar que a shell se queixe de um operador vazio, é dada à função de calculadora embutida.