Используйте регулярные выражения с find
:
find . -iregex '.*\.\(mp3\|mp4\|exe\)' -printf '%f\n'
Если вы передаете имена файлов:
find . -iregex '.*\.\(mp3\|mp4\|exe\)' -printf '%f\0' | xargs -0 dosomething
Это защищает имена файлов, которые содержат пробелы или переводы строк.
OS X find
поддерживает чередование только при использовании параметра -E
(улучшенный).
find -E . -regex '.*\.(mp3|mp4|exe)'