Пакетное переименование через командную строку?
У меня есть сервер Media Temple (dv), на котором я устанавливаю Magento.
Я загрузил несколько тысяч изображений в каталог / media / import, который мне предоставил клиент. Проблема в том, что некоторые изображения.jpg, а другие.JPG.
Есть ли способ пакетного переименования их на сервере? Я действительно не хочу делать это локально и заново загружать их все.
В идеале я бы сделал их все строчными, чтобы они были одинаковыми с другими схемами именования изображений, используемыми Magento.
Спасибо,
Дэнни
2 ответа
Предложение Bash:
for file in *.JPG; do newfile=`echo $file|sed 's/.JPG$/.jpg/'` ; mv -i "$file" "$newfile" ; done
Он перебирает все файлы с расширением.JPG, и для каждого из них он использует sed для создания нового имени файла, превращая терминал.JPG в терминал.jpg, и выполняет mv. -i
на тот случай, если у вас уже есть fred.JPG и fred.jpg. Не забывайте различать одинарные кавычки и обратные кавычки, которые используются и не являются взаимозаменяемыми.
Если у вас есть утилита под названием rename
Установленный (это Perl-скрипт) вы можете сделать:
rename 'y/A-Z/a-z/' *