Re: [OT] Nuevo desafío Sed
On Sun, Nov 12, 2006 at 07:13:51PM -0600, César Rincón wrote:
> 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/
Gracias. Va como piña.
> Especialmente los "one liners":
>
> http://sed.sf.net/sed1line.txt
>
> Salud.
>
Saludos
Andrés M.
Reply to: