Как переименовать и почистить имена файлов с помощью regex на linux?
Берешь и чистишь.
Без конкретных примеров неизвестно что сказать.
Ну и утилита rename умеет в регэксп
Команда  find  поддерживает  regexp  (и не только)
Например
$ find . -regextype sed -regex ".*/[a-f0-9\-]\{36\}\.jpg"
./test/81397018-b84a-11e0-9d2a-001b77dc0bed.jpg
./81397018-b84a-11e0-9d2a-001b77dc0bed.jpg
Ну и если чего нашла
find . -regextype sed -regex ".*/[a-f0-9\-]\{36\}\.jpg" --exec rm {} \;