Uso del comando AWK

Anuncio
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.
Descargar