AWK puede hacer esto con rangos de patrones, lo que permite el uso de cualquier expresión regular:
echoer | awk '/pattern/,0'
imprimirá echoer
la salida comenzando con la primera línea coincidente pattern
.
AWK se basa en patrones y, por lo general, se usa con un enfoque de tipo "si este patrón coincide, haga esto". "Este patrón" puede ser un rango de patrones, definido como "cuando este patrón coincide, comience a hacer esto, hasta que este otro patrón coincida"; esto se especifica escribiendo dos patrones separados por una coma, como se indicó anteriormente. Los patrones pueden ser coincidencias de texto, como en /pattern/
, donde la línea actual se compara con el patrón, interpretada como una expresión regular; también pueden ser expresiones generales, evaluadas para cada línea y consideradas que coinciden si su resultado es distinto de cero o no está vacío.
En AWK, la acción predeterminada es imprimir la línea actual.
Poniendo todo esto junto, awk '/pattern/,0'
busca líneas que coincidan pattern
y, una vez que encuentra una, aplica la acción predeterminada a todas las líneas hasta que la 0
condición coincida (no es cero). awk '/pattern/,""'
funcionaría también
El manual de Gawk entra en mucho más detalle.