Variables en AWK
AWK tiene diferentes variables internas que nos son muy útiles y además, podemos declarar nuestras propias variables, ya sea para hacer filtrados, conteos, o resúmenes y reportes.
La lista de variables internas de AWK es la siguiente:
Variables internas
Existen diferentes variables internas de AWK
BINMODE
: Especifica el modo binario de I/O en sistemas no Unix: 1,2,3CONVFMT
: Controla la conversión de strings a numeros, pasa a sprintfFIELDWIDTHS
: Lista de columnas separadas cuando no es delimitada la entradaFPAT
: Regex que reconoce los campos para separarlosFS
: Separador de los campos de entradaIGNORECASE
: Si es no cero o no nulo, las comparaciones son case-indepLINT
: Cuando esta varible es verdadera, activa la opción de lintOFMT
: Controla la conversión de números a stringsOFS
: Controla la separador de la salidaORS
: Separador de final de línea de cada registroPREC
: Precisión en las operaciones de punto flotanteROUNDMODE
: Modo de redondeo de númerosRS
: Separador de registros en la entradaSUBSEP
: Separador de subscripts en arrays multidimensionalesTEXTDOMAIN
: Se usa para la internacionalización de programas de AWKARGC
: Número de argumentos de línea de comandosARGV
: Lista de argumentos de línea de comandosARGIND
: índice de ARGV del archivo que está siendo procesadoENVIRON
: Array con los valores de las variables de ambienteERRNO
: Guarda el valor del error durante un getline o closeFILENAME
: Nombre del archivo que está siendo procesadoFNR
: Número de registro que está siendo procesadoNF
: Número de campos en el registro que está siendo procesadoFUNCTAB
: Array con valores de funciones utilizadasNR
: Número de registros que awk ha procesado desde el inicioPROCINFO
: Array con información sobre el programa de awkRLENGTH
: Longitud de la cadena encontrada por un regexRSTART
: Indice del substring donde comienza un matchRT
: Texto que se encuentra usando RS como separadorSYMTAB
: Array con variables globales y arrays en el programa
Variables definidas por el usuario
Definir variables en AWK es muy sencillo. Por ejemplo para definir una variable a partir de un campo en un archivo, podemos hacer lo siguiente:
nombre = $3
Si queremos una variable para hacer un contador, como una suma sobre el segundo campo de un archivo.
sum += $2
Podemos generar variables a partir de otras variables:
neto = bruto - impuestos
Entonces, como se puede ver, las variables en AWK son sumamente sencillas.