(4 respuestas)
Cerrado hace 5 años.
Quiero usar sed
para cambiar una barra inclinada a una barra invertida y una barra inclinada, es decir, /
-> /
. Pero no funciona. Aquí un pequeño ejemplo:
#!/bin/bash
TEST=/etc/hallo
echo $TEST
echo $TEST | sed "s/hallo/bello/g"
echo $TEST | sed "s///\//g"
La salida de las primeras tres líneas es la supuesta. Pero el último no funciona. ¿Por qué? ¿Cómo corregir la última parte?
Respuesta aceptada:
Utilice comillas simples para la expresión que utilizó:
sed 's///\//g'
Entre comillas dobles, tiene un significado especial, por lo que debe hacer una barra invertida:
sed "s///\\//g"
Pero es más limpio cambiar el delimitador:
sed 's=/=\/=g'
sed "s=/=\/=g"