Commande Linux awk : évaluation de fichiers

La commande awk permet de parcourir des fichiers et de lancer l’exécution de certaines actions. Les fondements de cette commande Linux remontent à 1977.

Commande Linux awk : de quoi s’agit-il ?

Avec sa commande awk, Linux dispose d’un langage de script et de programmation permettant d’évaluer et de traiter des fichiers. Cette commande existe déjà depuis 1977. Son nom lui vient de ses trois développeurs : Alfred Aho, Peter Weinberger et Brian Kernighan. Cet outil s’utilise par l’intermédiaire de la ligne de commande ou du protocole SSH (Secure Shell). La commande awk permet de rechercher certains modèles définis dans des fichiers, de façon similaire à la commande Linux grep. Ces fichiers peuvent alors être modifiés automatiquement, dans certaines circonstances et en fonction de certains paramètres.

Comment fonctionne la commande awk ?

La commande awk combine des conditions et des instructions. Lorsque vous exécutez cette commande dans un fichier, elle le parcourt ligne par ligne. Chaque fois, elle vérifie si la condition définie est remplie. L’instruction correspondante s’exécute si la condition est remplie pour la ligne en cours d’évaluation. Si aucune condition n’est définie, l’instruction s’exécute à chaque nouvelle ligne. Dans le cas où aucune instruction n’est précisée, seule l’instruction standard de la ligne de saisie est exécutée. Vous pouvez donc notamment utiliser la commande Linux awk pour effectuer des recherches dans vos fichiers à partir de termes ou de modèles spécifiques.

À quoi ressemble la syntaxe de la commande awk ?

La syntaxe de la commande Linux awk se présente comme suit :

$ awk [Options] " Condition {Instructions}" [Fichier de sortie]
shell

Quelles sont les options de la commande Linux awk ?

Vous avez le choix entre trois options :

  • -F [séparateur] : cette option permet de définir le séparateur pour un fichier, avec une espace en tant que valeur par défaut.
  • -f [nom du fichier] : cette option permet de déterminer le fichier dans lequel la commande awk est exécutée.
  • -v : cette option peut être utilisée pour ajouter une variable.

Commande awk : exemple

Pour mieux comprendre comment utiliser la commande awk, découvrez avec nous son fonctionnement grâce à un exemple simple. Nous allons ici utiliser un fichier simple, appelé exemple.txt. Il contient une liste de villes, de pays et de continents répartis dans différentes colonnes. Cela ressemble à ce qui suit :

Ville Pays Continent
Berlin Allemagne Europe
Paris France Europe
Hanoï Vietnam Asie
Abuja Nigeria Afrique
shell

Pour afficher le fichier complet, vous pouvez maintenant utiliser la commande suivante :

$ awk "{print $0}" exemple.txt
shell

Les enjeux deviennent plus intéressants si vous souhaitez uniquement afficher certaines colonnes. Dans cet exemple, nous avons choisi la première et la troisième :

$ awk "{print $1, $3}" exemple.txt
shell

Nous obtenons alors le résultat suivant :

Berlin Europe
Paris Europe
Hanoï Asie
Abuja Afrique