Para encontrar arquivos de um determinado tipo, eu não procuraria pela extensão do arquivo. Eu prefiro digitalizar arquivos para o tipo MIME usando uma combinação de find e file . Esta saída pode então ser grep ed para o mimetypesm desejado, por ex. audio/* e video/* .
Eu criei um pequeno script para fazer isso:
#!/usr/bin/env bash
#Don't know whether you want to do so, but this deletes a existing media.txt
rm media.txt
#Find files of desired MIME types and store them in $list
list=$(find | file -if - | grep -P "(audio/.*?;)|(video/.*?;)")
n=0
#Iterate over each line in the list (one file per line)
while read -r line; do
#Append the filename to media.txt
echo "$line" | cut -f1 >> media.txt
#Increase file counter
n=$(($n+1))
done <<< "$list"
#Output the result
echo "$n media files found! Saved to media.txt"
Note que eu uso o RegExp completo com o grep. Para adicionar alguns tipos de MIME, construa-os da mesma forma como fiz com os dois já incluídos: (type/enc;) e adicione-os com um RegExp OR ( | ).
PS: Como está, o script opera no diretório atual. Se você quiser torná-lo mais flexível, adicione um $1 entre find e o seguinte. Agora, execute o script e forneça o caminho para pesquisar como argumento.