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

Re: awk..



On Fri, 8 Dec 2006, andmarti@gmail.com wrote:

> Hola Gente. Les paso a contar. Tengo en un archivo algo como lo siguiente:
> 
> PRINCIPIO
> texto1
> FIN
> textobasura
> PRINCIPIO
> texto2
> FIN
> textobasura
> 
> Estaba tratando con awk de obtener texto1 y texto2, pero me mostraba no
> solo eso sino también los delimitadores PRINCIPIO y FIN.

Bueno, te han dado ya varias soluciones, pero no puedo aguantarme sin
darte la mía :-)

Si lo quieres todo junto:

#!/usr/bin/awk -f
/^FIN$/ { estado = 0 }
estado == 1
/^PRINCIPIO$/ { estado = 1 }

O si quieres especificar qué bloque es el que quieres:

#!/usr/bin/awk -f
/^FIN$/ { estado = 0 }
estado == 1 && v == n
/^PRINCIPIO$/ { estado = 1; v++ }

Para usar lo anterior basta con hacer algo como esto:

./extrae-bloque -v n=1 fichero-de-texto

Espero que te guste.



Reply to: