Ситуация:
У нас есть certificate.key
certificate.crt
внутри /user/ssl/
Мы хотим переименовать все, что начинается с certificate
в certificate_OLD
Теперь мы находимся внутри /user
Сначала вы выполняете пробный прогон с -n
:
rename -n "s/certificate/certificate_old/" ./ssl/*
, который возвращает:
rename(./ssl/certificate.crt, ./ssl/certificate_OLD.crt)
rename(./ssl/certificate.key, ./ssl/certificate_OLD.key)
Ваши файлы останутся без изменений, это всего лишь тестовый запуск.
Решение:
Когда вы счастливыс результатом теста запустите его по-настоящему:
rename "s/certificate/certificate_OLD/" ./ssl/*
Что это значит:
`переименовать 's / SOMETHING / SOMETING_ELSE" PATH / FILES
Подсказка:
Если вы уже на пути, запустите его так:
rename "s/certificate/certificate_OLD/" *
Или, если вы хотитесделать это в любом подкаталоге, начиная с ss
do:
rename -n "s/certificat/certificate_old/" ./ss*/*
Вы также можете сделать:
rename -n "s/certi*/certificate_old/" ./ss*/*
Какиепереименовывает все, что начинается с certi
в любом подкаталоге, начинающемся с ss
.
Пределом является небо.
Воспроизвестивокруг с регулярным выражением и ВСЕГДА проверяйте это ПЕРЕД с -n
.
СМОТРИТЕ, ЧТО ЭТО БУДЕТ ДАЖЕ ПЕРЕИМЕНОВАТЬ ИМЕНА ПАПКИ, КОТОРЫЕ ПОДХОДЯТ.Лучше cd
в каталог и сделай это там.ИСПОЛЬЗУЙТЕ НА СВОЙ РИСК.