Попробуйте это (не только для оболочки, требуются утилиты find
и mv
):
find . '(' -name '*.dev' -o -name '*.prod' ')' -type f -execdir sh -c 'mv -- "$0" "${0%.*}"' '{}' ';'
Если у вас есть утилиты rename
и xargs
, вы можете значительно ускорить это:
find . '(' -name '*.dev' -o -name '*.prod' ')' -type f -print0 | xargs -0 rename 's/\.(dev|prod)$//'
Обе версии должны работать с любым именем файла, включая имена файлов, содержащие переводы строк.