Variables Implícitas (Built-in) que te proporcionan información - AWK

Esta es una lista de variables que son fijadas automáticamente por awk en ciertas ocasiones, así que proporcionan información a tu programa.

ARGC, ARGV

Los argumentos de la línea de comandos disponibles para awk son almacenados en un array llamado ARGV. ARGC es el número de argumentos de la línea de comando presentes. ARGV está indexado desde 0 a ARGC-1. Por ejemplo:

awk '{ print ARGV[$1] }' inventario-enviado Lista-BBS

En este ejemplo, ARGV[0] contiene “awk”, ARGV[1] contiene “inventario-enviado”, y ARGV[2] contiene “Lista- BBS”. El valor de ARGC es 3, uno más que el índice del último elemento en ARGV ya que el primer elemento es el 0.

Dese cuenta de que el programa awk no se entra en ARGV. Las otras opciones de la línea de comando especiales, con sus argumentos, tampoco son entradas. Pero la asignación de variables en la línea de comandos son tratadas como argumentos, y se podrían ver por lo tanto en el array ARGV.

Tu programa puede alterar ARGC y los elementos de ARGV. Cada vez que awk alcanza el final de un fichero de entrada, utiliza el siguiente elemento de ARGV como el nombre del siguiente fichero de entrada. Almacenando un cadena distinta en ARGV, se puede cambiar los ficheros que van a ser leidos por tu programa. Puedes usar “-“ para representar la entrada estándar. Almacenando elementos adicionales e incrementando ARGC puedes causar que se procesen ficheros adicionales.

Si decrementas el valor de ARGC, eso elimina ficheros de entrada del final de la lista de ficheros de entrada a procesar. Grabando el antiguo valor de ARGC en algún lugar, tu programa puede tratar los argumentos eliminados como otra cosa en lugar de cómo nombres de ficheros.

Para eliminar un fichero de mitad de la lista, almacena la cadena nula (“”) en ARGV en lugar del nombre de fichero que quieres que no se procese. Como una característica especial, awk ignora los nombres de ficheros que han sido reemplazados por una cadena nula.

ENVIRON

Este es un array que contiene los valores del entorno. Los índices del array son los nombres de las variables de entorno; los valores son los valores de las variables de entorno particulares. Por ejemplo, ENVIRON[“HOME”] podría ser ‘/home/dwadmin’. El cambio de los valores de este array no afecta al valor real de las variables que tengan en el sistema operativo.

Algunos sistemas operativos podrían no tener variables de entorno. En tales sistemas, el array ENVIRON está vacío.

FILENAME

Este es el nombre del fichero que awk está leyendo en la actualidad. Si awk está leyendo de la entrada estándar (en otras palabras, no se han especificado ficheros en la línea de comando), FILENAME toma el valor de “- “. FILENAME se cambia cada vez que se lee desde un fichero nuevo.

FNR

FNR es el número de registro del registro actual en el fichero actual. FNR se incrementa automáticamente cada vez que se lee un nuevo registro. Es reinicializado a 0 cada vez que se comienza un nuevo fichero de entrada.

NF

NF es el número de campos del registro de entrada actual. NF recibe un nuevo valor cada vez que se lee un nuevo registro, cuando se crea un nuevo campo, o cuando $0 cambia .

NR

Este es el número de registros de entrada que han sido procesados desde el comienzo de la ejecución del programa. NR se incrementa en una unidad cada vez que se lee un nuevo registro.

RLENGTH

RLENGTH es la longitud de la subcadena encontrada por la función match. RLENGTH toma un valor cada vez que se llama a la función match. Su valor es la longitud de la cadena encontrada, o –1 si no se encontró ninguna cadena.

RSTART

RSTART es el índice de comienzo de la subcadena encontrada por la función match. RSTART toma un valor cuando se llama a la función match. Su valor es la posición de la cadena donde la subcadena encontrada comienza, o 0 si no se encontró.













































Publicar un comentario

0 Comentarios