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