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: