[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Nuevo desafío Sed



andmarti@gmail.com wrote:
> De maravillas. Lo que no me queda claro es el último -e...

Es más fácil de entender en el script comentado.  El comando ":a" define
la "etiqueta a".  El comando "n" imprime la línea actual y lee la
siguiente (y termina el programa si ya no hay más líneas).  El comando
"ba" es un "GOTO a".

> Por otro lado, como hago para que modifique el archivo directamente, y
> así evitar redirecciones ">" y "mv"..? En otros casos usaba -i, pero no
> parece funcionar..

Debería funcionar.  Acabo de probar con

 sed -e '/^COMIENZO/!b' -e '/PROHIBIDO/b' \
  -e 's/$/ NUEVO/' -e ':a;n;ba' \
  -i.bak entrada.txt

y funciona correctamente.

Si prefieres el script comentado, y lo guardaste como "script.sed",
entonces esto debería funcionar:

 sed -i.bak -f script.sed entrada.txt

Usa "-i''" si no quieres generar respaldos.

> Quizás la mejor manera es viendo ejemplos con dificultad progresiva..

Sí, de acuerdo.  Quizá te resulte útil la documentación y ejemplos en

  http://sed.sf.net/

Especialmente los "one liners":

  http://sed.sf.net/sed1line.txt

Salud.

-- 
César Rincón
Enlaces Tecnológicos
Guadalajara, México



Reply to: