Opet sed

Ale¹ DOLEÈEK ales.dolecek na centrum.cz
Sobota Prosinec 21 13:01:42 CET 2002


Osobni bych to zkusil asi takto:

/CONNECTOR.*dobris/ {
	:loop
	/\n);$/! {
		N
		b loop
	}
	r nahrada.txt
	d
}

Princip je následující:
1) Nejdoíve se pospojuje veškerý text mezi 'CONNECTOR.*dobris' a '^);$'
2) vypíše se obsah souboru 'nahrada.txt'
3) pospojovaný oádek se zahodí

Jinak k nahrazování eásti textu slou3/4í poíkaz 'c'. S jeho vyu3/4itím by to
vypadalo asi takto:

/CONNECTOR.*dobris/,/^);$/ c\
Tady je text ureený k nahrazení\
(mu3/4e mít i vice oádek)

Ovšem pokud se vám nehodily poíkazy 'a' a 'i' nebude asi ani 'c' k
nieemu.
                                          Aleš


Dne Fri, 20 Dec 2002 14:33:34 +0100 Pavel Lisy napsal(a):

> Prosim, porad te mi,
> jak nahradit pomoci sed-u nebo jineho unix nastroje cast souboru
> definovanou nejak takto:
> /CONNECTOR.*dobris/,/^);$/
> 
> obsahem jineho souboru. Konstrukci i\ nebo a\ nemohu pouzit protoze
> vkladany text ma tolik escape znaku, ze je nejsem schopen korektne
> "vyexcapovat".
> 
> 
> Toto mi bohuzel nefunguje, asi to delam uplne blbe.
> 
> sed -e 's///g' -e "/CONNECTOR.*dobris/,/^);$/{ d r $tempfile_part
> }" $tempfile > $workfile2
>    
>    
> HELP please, jsem uz z toho dost zoufaly.
> 
> Pavel


Další informace o konferenci Linux