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

Вдогонку к предыдущей записи. Ну, и, во многом для себя, чтоб потом не искать. И так, как же заменить подстроку в одном или нескольких файлах на другую?

Средстами Perl это делается такой вот командой, которую для удобства можно засунуть в bat-файл. Хотя, конечно, более изящно было бы всё это сделать в одном скрипте, но, как водится, руки не дошли.

Оказалось проще вручную сделать большой батник, делающий call другого батника, который заменяет подстроку. В общем, строка в бат-файле, заменяющая ivvva.narod.ru на ivvva.ru будет выглядеть так:

perl -p -i.bak -e "s/ivvva.narod.ru/ivvva.ru/g" %1

А строка, заменяющая в указанном файле все между
<!— copyright  и copyright —>
пустым местом, так:

perl -p -i.bak -e "s/<!-- copyright.*copyright -->/ /g" %1

Первое нужно понятно зачем. А второе — затем, что UCOZ ограничил вставленный им в мою страничку код комментариями с пометкой copyright.

Содержимое файла для массовой обработки будет выглядеть примерно так (при условии, что вышеприведенные строчки кода находятся в файле с именем REPLACE.BAT):

CALL REPLACE.BAT  reshum.htm
CALL REPLACE.BAT  sbu.htm
CALL REPLACE.BAT  taman08.htm
CALL REPLACE.BAT  things.htm
CALL REPLACE.BAT  thingsr.htm
CALL REPLACE.BAT  thow.htm

и т.д.

В общем, мне этого хватило, а кому нужно, чтобы скрипт все делал сам и без нудной подготовки списков — напишите сами и пришлите мне, я его здесь опубликую :)

Запись опубликована в рубрике Новости с метками , , , . Добавьте в закладки постоянную ссылку.

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

  1. Уведомление: Яндекс предал Народ или переезд сайта на ucoz-говнохостинг | ivvva's blog

  2. Зачем Perl?
    Есть готовые программы, типа MultiReplacer (боюсь ошибиться с названием, поискал у себя и не нашел, но раньше точно пользовался).
    Там указываешь: что на что заменять, в каких файлах, в каких папках.

    • ivvva говорит:

      Ну, Тиран, это ты такой умный. Я вот, в принципе, знал, что программа Home Site, например, делает такую штуку, но она не стала у меня устанавливаться, поэтому я решил написать свою (с блэкджеком и шлюхами) :)

  3. popof говорит:

    Офкорс это юних. Но!

    Поставь MinGw — http://sourceforge.net/projects/mingw/files/
    и брюки превратятся!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *