viernes, 7 de octubre de 2011

extraer un patrón de archivo de texto

supongamos que quiero extraer de un archivo, llamado archivo.txt, todas las palabras que están entre comillas y que coinciden con cierto patrón, para nuestro ejemplo supongamos que el contenido de nuestro archivo.txt es el siguiente:

hola, "PATRON" prueba de extraer la palabra PATRON
hola, "PATRON" prueba de extraer la palabra PATRON
hola, "PATRON CON UNA DIFERENCIA" prueba de extraer la palabra PATRON
hola, "PATRON" prueba de extraer la palabra PATRON
hola, "PATRON CON ALGO EXTRA" prueba de extraer la palabra PATRON
hola, "PATRON" prueba de extraer la palabra PATRON



y queremos extraer de archivo.txt todo lo que contenga la palabra PATRON y que además se encuentre entre comillas, para ésto basta con hacer en la consola:

grep -Po '(?<=")\s*PATRON[^"]*(?=")' archivo.txt
 
y el resultado será lo siguiente:

PATRON
PATRON
PATRON CON UNA DIFERENCIA
PATRONPATRON CON ALGO EXTRA
PATRON



pueden adaptarlo a su gusto o según sus necesidades.