Прислали мне знакомые запаковынный сайт в zip архиве со всеми файлами в верхнем регистре

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

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

Немного погодя, поковырявшись в интернете и посоветовавшись с друзьями и коллегами, нашел ещё парочку советов, которые и выкладываю здесь.

1. Пример для оболочки bash:

 for i in `ls`; do mv "$i" `echo "$i" | tr "[:upper:]" "[:lower:]"`; done

2. Подходит для любой ОС в которой есть Midnight Commander:

Открыв MC, выделите все нужные вам файлы и нажмите F6, в качестве пути приемника указать \L*.

Еще существуют такие комбинации: \U, \u, \l, как в Perl’e.

3. Универсальный метод. Подходит на те машины, где есть perl, да еще и кодировка utf8.

Стругаем скрипт, который рекурсивно проверяет и преобразовует файлы:

#!/usr/bin/perl 
 
use encoding 'utf8'; 
 
while(<>){ print lc; }

Perlовый скрипт с учетом рекурсивной проверки подпапок с файлами, работает довольно таки медленно (если брать в учет другие два способа), но эфективно.

Надеюсь эта информация кому-то будет полезна.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/1789


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

Please note: JavaScript is required to post comments.