Чувствительность регистра расширения файла в CentOS

Возможный дубликат:
Как очистить расширения файлов?

Я использую CentOS. В одной из моих папок есть> 10 М изображений, которые сгруппированы в подкаталоги.

Проблема в том, что некоторые из моих изображений называются abc. jpg и другие называются xyz. JPG . Поэтому, когда я пытаюсь получить доступ к xyz.jpg, он говорит «Файл не найден», поскольку расширение чувствительно к регистру.

Есть ли способ переименовать все JPG в jpg или конфигурацию httpd, которая работает вокруг этой проблемы.

2 Solutions collect form web for “Чувствительность регистра расширения файла в CentOS”

Попробуйте это (это переименует все файлы .JPG в .jpg рекурсивно во всех подкаталогах каталога, в котором вы его запускаете):

 find . -name '*.JPG' -exec sh -c 'mv "$0" "${0%.JPG}.jpg"' {} \; 

Поиск ищет все файлы с именем * .JPG в текущем каталоге и его подкаталогах, передает список команде mv, которая переименовывает их

Как всегда с такими вопросами и ответами, несколько слов предостережения:

 find . -name '*.JPG' -exec sh -c 'mv "$0" "${0%.JPG}.jpg"' {} \; 

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

Это переименовывает оба файла и каталоги. Если переименовать каталоги, он не сможет переименовать файлы внутри (используйте параметр -depth)

Это потенциально может потерять файлы (foo.JPG переименован в foo.jpg, пока уже есть foo.jpg), или потенциально помещать файлы там, где вы не хотите (рассмотрите, например, каталог, в котором есть файл с именем foo.JPG и один из которых называется foo.jpg, что на самом деле является символической ссылкой на /etc/apache2/conf.d. Это потенциально может нарушить символические ссылки. Существует условие гонки, которое может позволить злоумышленнику обмануть вас в переименование любого файла.

Многие из этих проблем можно избежать, используя инструмент, предназначенный для этой задачи (пакетное переименование файлов), вместо того, чтобы пытаться изобретать колесо. mmv и zmv zsh приходят на ум.

Linux и Unix - лучшая ОС в мире.