в случае, если файлы не имеют расширения, мы можем искать mime-тип файла
find . -type f -exec file -i {} + | awk -F': +' '{ if ($2 ~ /audio|video|matroska|mpeg/) print $1 }'
где (аудио | видео | matroska | mpeg) - это типы MIME regex
&, если вы хотите удалить их:
find . -type f -exec file -i {} + | awk -F': +' '{ if ($2 ~ /audio|video|matroska|mpeg/) print $1 }' | while read f ; do
rm "$f"
done
или удалите все, кроме этих расширений:
find . -type f -exec file -i {} + | awk -F': +' '{ if ($2 !~ /audio|video|matroska|mpeg/) print $1 }' | while read f ; do
rm "$f"
done
обратите внимание на! ~ Вместо ~