Групповое переименование файлов в BASH по шаблону
Подскажите пожалуйста как произвести групповое переименование файлов по шаблону посредством BASH? из имеющихся команд у меня есть rename.ul и MC.
Шаблон поиска: ^ТП-([0-9]{4})
Шаблон замены: $1
Если максимально упрощать требования, то достаточно удалить "ТП-" из названия каталогов.
Пробовал в rename: rename.ul -n 's/ТП-//g' *
- нет результата; rename.ul -n 'ТП-' '' ./
- нет результата.
Пробовал в MC: <+> -> "ТП-" - нет результата
Ответы (1 шт):
Не получается просто переименовать директории в текущей директории, нужно либо собирать все имена в цикле, затем переименовывать каждую, либо сразу переименовывать и перемещать в другую директорию.
Пример с перемещением в другую директорию.
mkdir new
find . -maxdepth 1 -type d -name "ТП-*" -exec sh -c 'mv "$0" "new/${0#./ТП-}"' {} \;