Usando as informações da resposta vinculada do @blm, você pode fazer algo como:
find /some/folder -type f -regextype posix-extended -regex '.*\.(flac|ape|wa?v|m(p3|4a))' -exec bash -c " file '{}' | grep '320 kbps'" \; -exec <do what you want>
o primeiro -exec
procurará apenas arquivos de 320 kbps, pois o comando file
relata isso para nós. Se o grep
não corresponder a nada, então -exec
será falso e o segundo -exec
não será executado. Se grep
coincidir, então o segundo -exec
será executado
Para completar, este recurso de -exec
pode ser encontrado na página man
-exec command ; Execute command; true if 0 status is returned
Editar:
Com relação ao uso de file
nesta solução, parece não funcionar para todos. Então, aqui está uma maneira alternativa de obter a taxa de bits usando mediainfo
:
#!/bin/bash
bitrate=$(mediainfo "$1" | grep -Ei 'overall bit ?rate.*[[:digit:]]+.*$' | grep -Eo [[:digit:]]+)
echo $bitrate
Você pode salvá-lo em um arquivo .sh com permissão de execução e, em seguida, ele fornecerá a taxa de bits do arquivo (somente dígitos) de acordo com mediainfo
Informações gerais sobre a taxa de bits, de maneira que você possa substituir
-exec bash -c " file '{}' | grep '320 kbps'" \;
com
-exec bash -c "BITRATE_SCRIPT_PATH '{}' | grep '320'" \;
(pode se comportar mal com arquivos de áudio sem perdas, que tendem a ter 1Mbps + de taxa de bits)