Saratov Linux User Group
 help / color / mirror / Atom feed
WARNING: multiple messages have this Message-ID
From: "\"Genix\" " <genix@list.ru>
To: sin.a@freeline.ru,
	"\"Saratov Linux User Group Maillist\" " <sarlug@lug.ru>
Subject: Re: [Sarlug] serach & replace
Date: Fri, 15 Aug 2003 14:13:05 +0400
Message-ID: <E19nbZx-000N29-00.genix-list-ru@f22.mail.ru> (raw)
In-Reply-To: <200308151326.34347.sin.a@freeline.ru>

>  Люди добрые, помогите, кто может... 
> 
>  Есть большое количество файлов, их нужно просмотреть, и заменить "выражение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 {}; (сравни с маном мог что-то забыть)

В любом случае пиши -- что-нить придумаем


From: "\"Genix\" " <genix@list.ru>
To: sin.a@freeline.ru,
	"\"Saratov Linux User Group Maillist\" " <sarlug@lug.ru>
Subject: Re: [Sarlug] serach & replace
Date: Fri, 15 Aug 2003 10:09:09 -0000
Message-ID: <E19nbZx-000N29-00.genix-list-ru@f22.mail.ru> (raw)
Message-ID: <20030815100909.4qwKxGUjBHAaVzfn27WdJUzK1zEMFlVNlV7NgegzNd8@z> (raw)
In-Reply-To: <200308151326.34347.sin.a@freeline.ru>

>  Люди добрые, помогите, кто может... 
> 
>  Есть большое количество файлов, их нужно просмотреть, и заменить "выражение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 {}; (сравни с маном мог что-то забыть)

В любом случае пиши -- что-нить придумаем


  parent reply	other threads:[~2003-08-15 10:13 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-15  9:26 sinaps
2003-08-15  9:26 ` sinaps
2003-08-15  9:58 ` Roman Bogorodskiy
2003-08-15  9:59   ` Roman Bogorodskiy
2003-08-15 10:11   ` Re[2]: " "Genix" 
2003-08-15 10:11     ` "Genix" 
2003-08-15 10:19     ` Roman Bogorodskiy
2003-08-15 10:20       ` Roman Bogorodskiy
2003-08-15 13:34       ` Roman Bogorodskiy
2003-08-15 13:34         ` Roman Bogorodskiy
2003-08-15 10:10 ` Nickolay Parfenov
2003-08-15 10:21   ` Nickolay Parfenov
2003-08-15 10:52   ` sinaps
2003-08-15 10:52     ` sinaps
2003-08-15 10:13 ` "Genix"  [this message]
2003-08-15 10:09   ` "Genix" 
2003-08-15 19:31 ` Paul P Komkoff Jr
2003-08-15 19:31   ` Paul P Komkoff Jr

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E19nbZx-000N29-00.genix-list-ru@f22.mail.ru \
    --to=genix@list.ru \
    --cc=sarlug@lug.ru \
    --cc=sin.a@freeline.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Saratov Linux User Group

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sarlug/0 sarlug/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sarlug sarlug/ http://lore.altlinux.org/sarlug \
		sarlug@lists.lug.ru sarlug@lug.ru
	public-inbox-index sarlug

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sarlug


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git