Você pode usar um shell glob como *.mp3
para selecionar todos os arquivos no diretório atual que terminam com .mp3
. Isso cuidará automaticamente de espaços e outros caracteres especiais também.
Em um mp3 que testei, recebi uma saída assim para file
:
01 - Mystery Of A Blood Red Rose.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 56 kbps, 44.1 kHz, Stereo
Você disse que está interessado na taxa de bits, ou seja, 56 kbps
aqui. Podemos usar grep
para extrair apenas essa parte da saída com uma expressão regular como '\d+\s+kbps'
(um ou mais dígitos, seguido por um ou mais espaços, seguidos pela string "kbps").
Até agora, você pode usar isso para mostrar apenas as informações da taxa de bits de todos os arquivos mp3 no diretório atual:
file *.mp3 | grep -Po '\d+\s+kbps'
Agora, isso produz uma longa lista com uma linha por arquivo, mas você queria uma boa estatística com contagens totais. Podemos fazer isso classificando a lista primeiro (usando o modo de ordenação numérica natural) e, em seguida, contando quantas vezes cada linha única aparece. As ferramentas para isso são sort
e uniq
:
file *.mp3 | grep -Po '\d+\s+kbps' | sort -n | uniq -c
Em uma das minhas pastas de música, a saída ficou abaixo. Primeiro número é a contagem de arquivos, segundo a taxa de bits:
16 32 kbps
18 56 kbps
67 128 kbps
3 192 kbps
6 256 kbps
38 320 kbps