Solution du chapitre Le langage de programmation awk
1. awk en ligne de commande
a. Exercice 1 : awk et autres filtres
Faire afficher les noms des fichiers texte du répertoire /etc.
# Réalisé sous Linux
$ cd /etc
$ file * | awk -F: '$2 ~ /text/ {print $1}'
adjtime
aliases
asound.conf
auto.master
auto.misc
. . .
b. Exercice 2 : critères de sélection
1. |
Dans votre répertoire courant, afficher les caractéristiques des fichiers dont le nom commence par un point (uniquement ceux-là). |
$ ls -la | awk '$9 ~ /ˆ\./ {print}'
2. |
Dans votre répertoire courant, afficher les noms de fichiers commençant par un point, sauf "." et "..". |
$ ls -a | awk '/ˆ\.[ˆ.]/ {print}'
c. Exercice 3 : critères de sélection, affichage de champs, sections BEGIN et END
À partir du fichier php.ini fourni :
1. |
Faire afficher les lignes qui ne commencent pas par ";" et qui se terminent par On ou Off. |
$ awk '/ˆ[ˆ;].*(On|Off)$/ { print }' php.ini
engine = On
short_open_tag = Off
asp_tags = Off
zlib.output_compression = Off
implicit_flush = Off
2. |
Améliorer l’affichage. |
$ awk -F '=' '/ˆ[ˆ;].*(On|Off)$/ { printf("%-40s%-10s\n",$1,$2)
}' php.ini
engine On ...