[Sarlug] serach & replace

Nickolay Parfenov nik at eastsoft.ru
Fri Aug 15 14:21:33 MSD 2003


Hi, sinaps !
On Fri, Aug 15, 2003 at 01:26:34PM +0400, you wrote:
>  Есть большое количество файлов, их нужно просмотреть, и заменить
> "выражение1" на "выражение2". В "Linux Gazette на русском" недавно был
> Однострочник месяца на Perl, но разобратся с этим - я, увы, не смог :( .
> grep это нашел (в количестве - 140шт.), а с автоматической заменой -
> трудности...

>  В принципе строчку можно просто удалить, если html переживет без 
> <meta name=...  content=... >

В таких случаях вместо газет лучше читать классику типа Керниган, Пайк
"UNIX - универсальная среда программирования" (а лучше учить наизусть ;) и
man'ы. То же самое и с perl'ом, разбираться с ним не изучив grep, sed,
awk, ... значит просто тратить время. Ну а замену можно сделать, например,
из командной строки:
for f in *.html;do \
	sed 's/выр1/выр2/g'<$f >$f.new && mv $f $f.bak && mv $f.new $f;done

Для рекурсивной замены вместо for используй find с параметром -exec.

SY, Николай
-- 
   Nickolay N. Parfenov       (8452) 73-55-10 73-55-12      EastSoft Ltd.
   E-mail: nik (at) eastsoft.ru   FidoNet: 2:5053/44.1      UIN: 14602777


More information about the Sarlug mailing list