Я хочу рекурсивно удалить имена файлов, которые содержат несколько дефисов, чтобы file---name-3.jpg стало file-name-3.jpg. Это отлично работает в одной папке, но я хотел бы перейти в родительскую папку и запустить команду. Он также работает нормально, пока не столкнется с именем папки, в котором также есть несколько дефисов, а затем попытается переименовать их.
find . -type f -iname '*---*' -depth -exec rename 's/---/-/gi' {} +
parent_folder
\sub--folder-1
file--name-1.jpg <-- rename file-name-1.jpg
file----name-2.jpg <-- rename file-name-2.jpg
\sub----folder-2
file--name-1.jpg <-- rename file-name-1.jpg
редактировать с помощью bash на сервере CentOS