Как переименовать файлы с определенным условием в Linux?
В Linux есть замечательная утилита rename. Ну, точнее, их две: одна входит в пакет util-linux, другая - скрипт на базе perl-модуля File::Rename. В deb-дистрибутивах нужный нам скрипт устанавливается в составе пакета rename и также имеет имя второе file-rename (а версия из util-linux имеет имя rename.ul). В других дистрибутивах может быть иначе, поэтому смотрим внимательнее параметры запуска (можно запустить rename без параметров и убедиться, что это нужный вариант).

Синтаксис предельно простой: rename регулярное_выражение_замены_perl имена_файлов

Синтаксис rename.ul для сравнения: rename что_заменить на_что_заменить имена_файлов

Вот что можно сделать для решения задачи (в предположении, что других точек, кроме как перед расширением, в имени файла нет):

rename 's/-\w+\././' *

Этот скрипт намного удобнее многоэтажных однострочников, да и пригодится в жизни ещё не раз.
https://regex101.com/r/NeoDkO/1
find + regexp 
вот так ищешь файлы. - далее можно или через exec
или xargs
или просто через print 0
и sedom поменять  до сохранения.