Назад | Перейти на главную страницу

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

У меня есть сервер Media Temple (dv), на котором я устанавливаю Magento.

Я загрузил несколько тысяч изображений в каталог / media / import, который мне предоставил клиент. Проблема в том, что некоторые изображения имеют формат .jpg, а другие - .JPG.

Есть ли способ пакетного переименования их на сервере? Я действительно не хочу делать это локально и повторно загружать их все.

В идеале я бы сделал их все в нижнем регистре, чтобы они соответствовали другим схемам именования изображений, используемым в Magento.

Спасибо,

Дэнни

Предложение 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/' *