[Sarlug] serach & replace
" Genix "
genix at list.ru
Fri Aug 15 14:09:09 MSD 2003
> Люди добрые, помогите, кто может...
>
> Есть большое количество файлов, их нужно просмотреть, и заменить "выражение1"
> на "выражение2". В "Linux Gazette на русском" недавно был Однострочник
> месяца на Perl, но разобратся с этим - я, увы, не смог :( . grep это нашел (в
> количестве - 140шт.), а с автоматической заменой - трудности...
>
> В принципе строчку можно просто удалить, если html переживет без
> <meta name=... content=... >
>
> Сайт отзеркалировался, но некоторые файлы оказались немного битыми (защита,
> что-ли у них такая?), вручную поправить можно, но материала уж больно
> много... (знаю, что есть люди, которые уже ждут результата:)
Простой скрипт, который делает замену text1 на text2 в файле, поданом на вход выглядит так:
#!/usr/bin/perl
while (<>) {
$_ =~ s/text1/text2/;
print;
}
Вывод идет на stdout.
доделать его для многих файлов не проблема. легче всего на bash'е складывать вывод во временный файл и потом делать mv. Эот в случае если с перлом вааще не охота замрачиваться. Можно и на перле -- если есть желание возможность. В твоем случае (поиск должен быть рекурсивным?) я бы смотрел в сторону
find /dir -type f -name "*.html" -exec replace.pl {}; (сравни с маном мог что-то забыть)
В любом случае пиши -- что-нить придумаем
More information about the Sarlug
mailing list