Como primeiro passo, você deve primeiro mover os arquivos para coletá-los por tipo (mp3, filme, talvez todo o áudio juntos, documentos vão lá, texto vai aqui, etc: todos vão para um diretório específico): simplesmente use "file filename (s)" e um pouco de shell script.
(ex: em poucas palavras: find /rootdir -type f -print | xargs -n 1 file | sed -e 's/^[^:]*:/&^/' | while IFS='' read wholeline ; do filename=$(echo $wholeline | cut -d^ -f1) ; fileinfo=$(echo "$wholeline"|cut -d^ -f2- | sed for further simplification) ; case "$fileinfo" in ..... (each simplified type with mv statements moving the "$filename" to proper destination depending on its fileinfo) ... ; esac; done
(isso é escrito sem testes! Ele precisa ser testado! Muitas possibilidades. Tente você mesmo até que funcione ou você precisa de mais ajuda.)
Então , uma vez que ela chega a uma pasta onde todos eles têm metadados semelhantes, outra ferramenta pode movê-los para uma subpasta específica (ou outra hierarquia) dependendo da informação extra específica. Ou seja, uma ferramenta por "tipo de arquivo" poderia ser retransmitida daqui. Para essa parte, use a "ferramenta apropriada" que outra pessoa provavelmente listará ^^ (tenho certeza que há muitos para mp3, mas não posso dar a você, já que não os uso).