Пакетное переименование через командную строку?

У меня есть сервер 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/' *
Другие вопросы по тегам