Uso del comando AWK Tiempo estimado: 45 Minutos Objetivo En este laboratorio, el estudiante aprender á a escribir un script y ejecutarlo con el comando awk Equipo El siguiente equipo es necesario para este ejercicio : Un sistema Linux con acceso al comando AWK Un archivo de texto (ver abajo) que es copiado en el directorio principal de los usuarios Antecedentes El comando AWK es un lenguaje de programaci ón que le permite buscar en los archivos y modificar registros. AWK recibe su nombre de sus autores – Aho, Weinberger y Kernigham < 1978 Cuando se ejecuta AWK, recuerde no cometer errores : 1. Todo el comando AWK se escribe en una sola cita 2. Todas las citas dentro del comando están en parejas 3. Encierre las sentencias de acci ón con llaves y las sentencias condicionales con paréntesis. Paso 1: Cree el archivo de texto que si mule una pequeña base de datos El primer paso sería crear un archivo de datos usando el editor de texto vi . Escriba el siguiente texto en el archivo y luego grabe el archivo. # vi paises.txt Para grabar el archivo en vi presione la tecla “esc”, luego escriba “:wq” (grabar y salir) en el prompt. 2 País Área(km ) Afghanistan 647,500 Cambodia 181,040 Canada 9,984,670 Mexico 1,972,550 Estados_Unidos 9,631,418 fuente: www.cia.gov 1 - 2 IT Essentials II v3.0 Población Edad media(años) 28,513,677 17.5 13,363,421 19.5 32,507,874 38.2 104,959,594 24.6 293,027,571 36 Esperanza de vida Capital 42.46 Kabul 58.41 Phnom_Penh 79.96 Ottawa 74.94 Ciudad_de_Mexico 77.43 Washington_DC Copyright 2004, Cisco Systems, Inc. Paso 2 Verifique el contenido de este archivo : cat paises.txt Ejecute los siguientes comandos y luego describa brevemente la salida . Si no tiene acceso al comando awk, trate de iniciar sesión usando la cuenta raíz. awk '{print $0}' paises.txt awk '{print $1}' paises.txt awk '{print $2}' paises.txt awk '{print $1 $5}' paises.txt awk '{print $1,$5}' paises.txt awk '{print $1 “\t” $5}' paises.txt awk '{print $1 “\t” $2}' paises.txt awk '{if ($1~/Cambodia/) print $0}' paises.txt awk '{if ($1~/Mexico/) print $0}' paises.txt awk '{if ($5~/7/) print $0}' paises.txt awk '{if ($5!~/7/) print $0}' paises.txt awk '/^C/' paises.txt awk '{if ($4 > 20.0) print $0}' paises.txt awk '{if ($5 >= 50.0) print $0}' paises.txt awk '{if ($5 > 70.0) print $0}' paises.txt Paso 3 Sume las poblaciones en la salida : #awk '(tot+=$3); END{print “Población total:” tot}' paises.txt Describa la salida. 2 - 2 IT Essentials II v3.0 Copyright 2004, Cisco Systems, Inc.