Обновление:
Вы правы, Мэтью. На основе вашего комментария, вот обновленная версия:
ls -R1 | egrep -C 0 "[^\.]+\.[^\./:]+$" | sed 's/.*\.//' | sort -u
Ответ 7
Я просто пытался это сделать, поскольку искал Google для хорошего ответа. Я больше Regex наклонен, чем Bash, но это также работает для подкаталогов. Я не думаю, что включает файлы без расширений: