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