Índice

Soluciones del capítulo El lenguaje de programación awk

1. awk en línea de comandos

a. Ejercicio 1: awk y otros filtros

Muestre los nombres de los archivos de texto del directorio /etc.

# Efectuado en Linux  
$ cd /etc  
$ file * | grep text | awk ’{print $1}’ | sed ’s/:$//’  
adjtime  
aliases  
asound.conf  
auto.master  
auto.misc  
. . .

b. Ejercicio 2: criterios de selección

1.

En su directorio actual, muestre las características de los archivos cuyo nombre comience con un punto (Solo estos).

$ ls -la | awk ’$9 ~ /ˆ\./ {print}’

2.

En su directorio actual, muestre los nombres de los archivos que comienzan con un punto, salvo ”.” y ”..”.

$ ls -a | awk ’/ˆ\.[ˆ.]/ {print}’

c. Ejercicio 3: criterios de selección, visualización de campos, secciones BEGIN y END

A partir del archivo php.ini proporcionado:

1.

Muestre las líneas que no comiencen por ";" y que terminen en On u Off.

$ awk ’/ˆ[ˆ;].*(On|Off)$/ { print }’ php.ini 
engine = On  
short_open_tag = Off  
asp_tags = Off  
zlib.output_compression = Off  
implicit_flush = Off

2.

Mejore la visualización.

$ awk -F ’=’ ’/ˆ[ˆ;].*(On|Off)$/ { printf("%-40s%-10s\n",$1,$2) 
}’ php.ini 
engine                   ...