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  ...
couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Solutions du chapitre La commande sed