zamena vice radek pomoci sed?

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Úterý Září 24 15:25:26 CEST 2002


Matthes píše:
> Zdravim,
> 
> tak uz zase zapasim se sed-em :)
> 
> pri upravach jednoho rozsahlejsiho webu jsem chtel pomoci sed-u zamenit 
> viceradkovy kus kodu ve strankach jinou porci kodu, ale at delam co 
> delam, nedokazu mu vnutit, aby zpracoval pattern, ktery jde pres vice 
> radek.
> prikaz sed 's/<zacatek_stareho_kodu>.*<\/konec_stareho_kodu>/<novy_kod>/g' 
> nereaguje, kdyz pouziju "\n" tam, kde se lame radek, kasle na to 
> stejne...
> Dalsi vec je, ze pokud prikaz s/../../g neuzavru do apostrofu, sed hlasi, 
> ze neni ukoncen prikaz. Ale mezi apostrofy se zase neprovede rozvinuti 
> promennych... kdyz to dam mezi uvozovky, nefunguje to taky.
> 
> Jak mu mam tyhle veci vysvetlit?
	Nejdřív někdo musí vysvětlit vám, jak sed pracuje. Nejspíš vám
pomůže příkaz N - přidat další řádek do pattern space, pak můžete použít
\n. Možná ale budete muset udělat cyklus, záleží na vašich vstupních datech.
Taky ale můžete použít jiný příkaz než s/, protože rozsah se dá zadat
i formou "od nalezeného řetězce po jiný nalezený".

-- 

--Zdeněk Pytela, <letty na mrakoplas.phil.muni.cz>



Další informace o konferenci Linux