( Zahy | 2008. 11. 27., cs – 21:38 )

Megtennéd, hogy leírod konkrétan, hogy mi a franccal is akarod ezt a cserét végrehajtani? Ugyanis szerintem nem egyértelmű, hogy a bash ${valtozo//errol/erre/} formáját akarod használni (ekkor fontos, hogy bash alatt dolgozol, viszont akkor nem kell "s" a csere elejére, és nem kell "g" a végére); vagy pl. sed-ben akarsz ilyen cserét, ekkor meg - ha aposztrófok közé zárod az egész vackot - tök mindegy, hogy bash-t használsz, vagy akármilyen más shell-t. Az általad adott szintaxisból én amúgy a másodikra (sed) tippelnék, de jó lenne tisztázni.

Amúgy pedig: szögletes zárójelen belül ( [ ) speciális jelentéssel bír a kötőjel és a záró zárójel, de nem így a hanyatt-törtvonal. Szóval ha esetleg odafigyelve begépelnéd, hogy mit is akarsz mire cseréni (mondjuk (code) (/code) blokkon belül).
Ez nem az amit akarsz?


[zgabor@Picasso ~/Desktop]$ echo $a
teszt/ez jo file -()[].file
[zgabor@Picasso ~/Desktop]$ echo $a|sed -e 's/[^][().[:alnum:]-]/_/g'
teszt_ez_jo_file_-()[].file
[zgabor@Picasso ~/Desktop]$