sed: Jak nahradit __NECO__ za /cesta/neco ??
    Tomáš Hudec 
    tom na abba.cz
       
    Úterý Únor 12 01:20:20 CET 2002
    
    
  
Martin Mačok wrote:
> On Mon, Feb 11, 2002 at 07:26:15PM +0100, Libor Chocholaty wrote:
> 
>>>Nicmene to stejne uplne neresi Vas problem. Co se asi stane, kdyz v
>>>nazvu souboru bude : (tj. ten znak pouzity misto lomitka) ?
>>>
> 
>>Jak byste to resil vy?
>>
> 
> Nasel bych (za behu programu) nejaky znak, ktery v danem nazvu souboru
> neni a ten bych pouzil jako oddelovac retezcu ;-)
> 
> (anebo se podivat, zda je tam ta dvojtecka je, a kdyz tam je, tak
> uzivateli zanadavat a odmitnout pracovat, coz je jednodussi)
CESTA="`echo /cesta/soubor | sed 's:/:\\\\/:g'`"
echo bla __neco__ bla | sed -e "s/__neco__/$CESTA/"
Podobne by se melo osetrit i zpetne lomitko a &.
Treba takto:
$ CESTA="`echo '/ces&ta/sou\bor' | sed 's:\([/\&]\):\\\\\1:g'`"
$ echo "$CESTA"
\/ces\&ta\/sou\\bor
$ echo bla __neco__ bla | sed -e "s/__neco__/$CESTA/"
bla /ces&ta/sou\bor bla
--
Tom
    
    
Další informace o konferenci Linux