[SOLUCIONADO] problema variable caracteres especiales en script

Imagen de yo_mismo1210
2 puntos

Hola
Estoy intentando hacer un script, y tengo un problema aparentemente sencillo.
Quiero cambiar las slash por backslash+slash (/->\/) de una cadena, en concreto querría:
cadena=`pwd | sed 's/\//\\\//g'`
de tal forma que me devuelva algo como \/home\/usuario\/
Pero me escupe el siguiente error:
sed: -e expresión #1, carácter 9: opción desconocida para `s'

Pero lo más raro de todo esto es que el comando pwd | sed 's/\//\\\//g' funciona correctamente. Es al asignarle ese valor a la variable cadena cuando me da el error...

¿alquien tiene alguna idea de qué estoy haciendo mal?¿dónde puedo buscar soluciones?ya no se me ocurre dónde mirar...

¡Muchas gracias de antemano!

Imagen de yo_mismo1210
+1
0
-1

Ok, bravo por mi, llevo un día dandole vueltas y lo he resuelto 2 minutos después de preguntar en el foro, siento las molestias.

Por si le sirve a alguien:
cadena=`pwd | sed 's/\//\\\\\//g'`

Aunque no entiendo bien el por qué del error...puesto que al sed no le debería importar estar en una variable,o no... pero parece que hace falta una backslash [en realidad 2 para que sed lo entienda] y otra [otras 2] para que la propia shell lo entienda...en total 4 backslashs...

gracias de todos modos!

+1
0
-1
Imagen de razaAztk
+1
0
-1

También funciona:

cadena=$(pwd | sed 's/\//\\\//g')

Saludos.

+1
0
-1

void hey(int x,int y)
{
if (x && y)
 printf("http://libertadhack.blogspot.com/");
else
 printf("http://libertadpunk.blogspot.com/");
}
Imagen de yo_mismo1210
+1
0
-1

¡Muchas gracias! ¡¡mucho más elegante!!

+1
0
-1