Linux/Unix Shell Scripting - Reemplazar texto con sed

   
Vista:

Reemplazar texto con sed

Publicado por mafc (2 intervenciones) el 07/09/2007 10:20:16
Hola a todos,

Quiero reemplazar la cadena v$instance por v\$instance y lo único que he conseguido hasta ahora es reeplazarlo por v\$ pero se come lo de instance. El ejemplo debe valer para cualquier cadena v$<cadena>.

Esto es lo que estoy haciendo :

echo "select 1 from v$instance" | sed 's/v$/v\\$/g'

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Reemplazar texto con sed

Publicado por Tom (253 intervenciones) el 07/09/2007 11:38:32
echo 'select 1 from v$instance' | sed 's/v\$/v\\$/g'

Las comillas simples son importantes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reemplazar texto con sed

Publicado por mafc (2 intervenciones) el 07/09/2007 12:02:24
Tienes razón, ahora voy un paso más allá. Quiero meter eso en script y guardarlo en una variable. Aquí el problema no son las ' ', es como traduce el $SENTENCIA. He probado a poner las comillas simples y no funciona.

SENTENCIA_NUEVA=`echo $SENTENCIA | sed 's/v$/v\\$/g'`

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Reemplazar texto con sed

Publicado por Tom (253 intervenciones) el 10/09/2007 08:52:46
Las comillas simples eran, precisamente, para que no hiciera la sustitución de la variable al encontrar el $

SENTENCIA_NUEVA=`echo "$SENTENCIA" | sed 's/v\$/v\\$/g'`
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar