Un rango de patrones está formado por dos patrones separados por una coma, de la forma patroninicio, patronfinal. Encaja con rangos de registros de entrada consecutivos. El primer patrón patroninicio controla donde comienza el rango, y el segundo patrónfinal controla donde acaba. Por ejemplo,
awk '$1 == "on", $1 == "off"'
imprime todos los registros entre ‘on’/’off’, ambos incluídos.
En más detalle, un patrón de rango comienza chequeando el patróninicio contra los registros de entrada; cuando un registro concuerda con patróninicio, se activa el patrón de rango y te sacará todos los registros de entrada hasta que encuentra una línea que encaja con el patrónfinal. A continuación vuelve a buscar el patróninicio a partir de la siguiente línea a la línea que concordó con el patrónfinal y así sucesivamente.
El registro que activa el rango de patrones y el que lo desactiva, ambos concuerdan y son incluidos dentro del patrón. Si no se desean que se operen o tengan en cuenta dichos patrones, puedes escribir una sentencia if en la acción de la regla para discriminarlos.
Es posible que exista un mismo registro que sea el que active y desactive el rango de patrón, si ambas condiciones son satisfechas por dicho registro. Entonces la acción se ejecuta solamente para dicho registro.
0 Comentarios