sed: Jak nahradit __NECO__ za /cesta/neco ??

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Pondělí Únor 11 12:08:20 CET 2002


Libor Chocholaty píše:
> Dobry den,
> 
> koumam jiz nejakou dobu nad tim, jak udelat $SUBJ. Mam skript, ve kterem
> bych rad nahrazoval formalni paramenty. Normalne to delam sed(em), ale
> nevim, jak zabezpecit, aby nahrazujici retezec mohl obsahovat lomitko.
> 
> Vec se ma tak, ze v predpripravenem skriptu mam:
> export CESTA=__CESTA__
> a chtel bych to __CESTA__ nahradit podle obsahu promenne plna_cesta.
> Bohuzel obsahuje lomitka a nevim jak to zaonacit, aby se z toho sed
> nezblaznil.
> 
> Mohl bych ty lomitka nejdriv prelozit pomoci "tr" na neco jineho, ale
> ten file je dost velky a zpetna konverze na lomitka by nemusela zbytku
> udelat dobre.
	Můžete to samozřejmě udělat mnoha způsoby včetně prohnání perlem (už
jenom v něm to jde více než jedním způsobem), ale v sedu to půjde, pokud
přestanete lpět na / jakožto oddělovači. Máte v cestě svislítka? Pokud ne,
tak třeba
sed "s|a|b|"
O tomto sice manuál mlčí, ale info možnost prozradí, ostatně jakákoliv
slušná unixová učebnice také.

    The `/' character (or whatever other character is used in its
     stead) can appear in the REGEXP or REPLACEMENT only if it is

-- 

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



Další informace o konferenci Linux