AWK

No soy responsable del uso que usted haga de la información contenida o vinculada desde estas páginas web.

Variables, Registros y Campos

Normalmente los registros son separados por caracteres de nueva línea. Se puede definir otro carácter asignando el valor en la variable interna RS. Esta variable puede ser un solo carácter o bien una expresión regular y cualquier carácter que coincida es usado como separador.

Si RS es una cadena nula, entonces los registros son separados por una línea en blanco. Cuando RS es una cadena nula, el carácter de nueva línea actúa siempre como separador de campos, en adición a cualquier valor que tenga FS.

Según se va leyendo cada registro, ‘‘awk’’ divide el registro en campos, usando el valor de la variable FS como separador de campos. En el caso que el valor de FS sea un espacio en blanco, los campos son separados por uno o mas espacios y/o tabs y/o líneas nuevas.

Cada campo en el registro de entrada se puede referenciar por su posición, S1, S2 y así. S0 representa el registro completo. Los campos deben referenciarse por constantes.

Imprime el quinto campo del registro de entrada.

#!awk numbers=off
n
print $n

Las variables son dinámicas. Sus valores son números de punto flotante o cadenas de texto, o ambos dependiendo como se usen.

AWK tiene también arreglos unidimensionales; arreglos multidimensionales pueden simularse.

Algunas variables son inicializadas con un valor default cuando se ejecuta un programa.

La variable NF esta inicializada con el número total de campos en el registro de entrada.

Referencias a campos no existentes producen cadenas nulas. Sin embargo, asignar variables a campos no existentes incrementa el valor de NF, crea caulqerui campo involucrado con la cadena nula como valor y causa que el valor de S0 sea recalculado, con los campos siendo separados con el valor de OFS.