Foros del Web » Administración de Sistemas » Unix / Linux »

Expresiones regulares + sed

Estas en el tema de Expresiones regulares + sed en el foro de Unix / Linux en Foros del Web. Hola! Quiero realizar la siguiente substitución del contenido de un fichero: 3x -> 3y. Siendo el 3 cualquier número. Para ello estoy utilizando el comando ...
  #1 (permalink)  
Antiguo 27/12/2006, 11:28
 
Fecha de Ingreso: agosto-2004
Mensajes: 16
Antigüedad: 19 años, 7 meses
Puntos: 0
Expresiones regulares + sed

Hola!
Quiero realizar la siguiente substitución del contenido de un fichero: 3x -> 3y. Siendo el 3 cualquier número.
Para ello estoy utilizando el comando sed y llego hasta aquí:

Código PHP:
sed "s/[0-9]x/&y/" fichero.txt resultado.txt 
Con esto obtengo: "3xy" y lo que yo quiero es "3y". Como puedo conseguirlo???
Por cierto, SOLO debo cambiar las "x" por "y" en el caso que haya delante un número!!

Gracias!
  #2 (permalink)  
Antiguo 27/12/2006, 14:05
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Re: Expresiones regulares + sed

Hazlo así:

sed -r "s/([0-9])x/\1y/" fichero.txt > resultado.txt

La opción "-r" te permite expresiones regulares extendidas. Envuelves entre paréntesis la variable [0-9], y con \1 vuelves a insertar el texto de la variable en el resultado.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #3 (permalink)  
Antiguo 28/12/2006, 05:24
 
Fecha de Ingreso: agosto-2004
Mensajes: 16
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Expresiones regulares + sed

Muchas gracias!
Funciona a la perfección!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:26.