Índice

Los argumentos de la línea de comandos

awk proporciona un mecanismo que permite pasar argumentos a un script en el momento de su llamada. Las variables ARGC y ARGV se inicializan por awk y permiten tratar los valores pasados en la línea de comandos.

Ejemplo

El script agenda.awk permite buscar información en el archivo agenda.txt. El usuario puede buscar la línea correspondiente al nombre de una persona (nombre=), a su email (mail=) o a su código postal (cp=).

$ cat agenda.txt  
Roberto   08020   roberto@misitio.com 
Natalia   28012   natalia@misitio.com 
Alejandro 46001   alejandro@misitio.com

Llamadas al script:

$ awk -f agenda.awk nombre=Roberto agenda.txt 
$ awk -f agenda.awk cp=08020 agenda.txt 
$ awk -f agenda.awk mail=’roberto@misitio.com’ agenda.txt

Obtención de los argumentos:

$ nl agenda1.awk  
    1  #! /bin/awk 
  
    2  BEGIN{ 
    3    print "ARGC = " , ARGC 
    4    for (i=0;i<ARGC;i++) { 
    5      printf("ARGV[%d] = %s\n", i, ARGV[i]) 
    6    } 
    7  }  
 
$ awk -f agenda1.awk nombre=Roberto agenda.txt  
ARGC =  3 
ARGV[0] = awk 
ARGV[1] = nombre=Roberto 
ARGV[2] = agenda.txt 

awk inicializa la tabla ARGV con el nombre del comando (ARGV[0]) y todos los valores pasados en línea de comandos. Las opciones de awk no se encuentran ...