Прислали мне знакомые запаковынный сайт в 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/?p=1789


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

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

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

Add your comment now

You must be logged in to post a comment.