Encontrei uma maneira simples usando a ferramenta mp3info
com awk
.
Infelizmente, isso só funciona para arquivos mp3.
mp3info -p "%m:%s\n" directory/*.mp3 |
awk -F: '{a+=$1*60+$2}END{printf"%d:%02d:%02d",a/3600,a%3600/60,a%3600%60}'
ou como minúsculo script
#!/bin/bash
dir="$1"
mp3info -p "%m:%s\n" "$dir/*.mp3" |
awk -F: '{a+=$1*60+$2}END{printf"%d:%02d:%02d",a/3600,a%3600/60,a%3600%60}'