Cualquier expresión awk es también válida como un patrón en gawk. Entonces el patrón “encaja” si el valor de la expresión es distinto de cero (si es un número) o distinto de nulo (si es una cadena).
La expresión es evaluada de nuevo cada vez que la regla se chequea contra un nuevo registro de entrada. Si la expresión utiliza campos tales como $1, el valor depende directamente del texto del registro de entrada nuevo, de otra forma, depende solo de lo que haya ocurrido hasta el momento en la ejecución del programa awk, pero eso aún podría ser útil.
Los patrones de comparación son realmente un caso especial de este. Por ejemplo, la expresión $5 == “foo” tiene el valor 1 cuando el valor de $5 es igual a “foo”, y en cualquier otro caso 0; por lo tanto, esta expresión como patrón encaja cuando los dos valores son iguales.
Los patrones booleanos son también casos especiales de los patrones de expresión.
Una expresión regular constante como patrón es también un caso especial de un patrón de expresión. /foo/ encaja con cualquier registro que contenga ‘foo’.
Otras implementaciones de awk son menos generales que gawk: permiten expresiones de comparación, y combinaciones booleanas (opcionalmente con paréntesis), pero no necesariamente otros tipos de expresiones.
0 Comentarios