Recherche de site Web

Comment écrire des scripts à l’aide de la programmation awk - Partie 13


Depuis le début de la série Awk jusqu’à la partie 12, nous avons écrit de petites commandes et des programmes Awk en ligne de commande et dans des scripts shell respectivement.

Cependant, Awk, tout comme Shell, est également un langage interprété, par conséquent, avec tout ce que nous avons parcouru depuis le début de cette série, vous pouvez maintenant écrire des scripts exécutables Awk.

De la même manière que nous écrivons un script shell, les scripts Awk commencent par la ligne :

#! /path/to/awk/utility -f 

Par exemple sur mon système, l’utilitaire Awk se trouve dans /usr/bin/awk, par conséquent, je lancerais un script Awk comme suit :

#! /usr/bin/awk -f 

Explication de la ligne ci-dessus :

  • # ! – appelé Shebang, qui spécifie un interprète pour les instructions dans un script
  • /usr/bin/awk – est l’interprète
  • -f – Option d’interpréteur, utilisée pour lire un fichier programme

Cela dit, plongeons maintenant dans l’examen de quelques exemples de scripts exécutables Awk, nous pouvons commencer par le script simple ci-dessous. Utilisez votre éditeur préféré pour ouvrir un nouveau fichier comme suit :

vi script.awk

Et collez le code ci-dessous dans le fichier :

#!/usr/bin/awk -f 
BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Enregistrez le fichier et quittez, puis rendez le script exécutable en exécutant la commande ci-dessous :

chmod +x script.awk

Ensuite, exécutez-le :

./script.awk

Exemple de sortie :

Writing my first Awk executable script!

Un programmeur critique doit se demander : « Où sont les commentaires ? », oui, vous pouvez également inclure des commentaires dans votre script Awk. Écrire des commentaires dans votre code est toujours une bonne pratique de programmation.

Cela aide les autres programmeurs à parcourir votre code pour comprendre ce que vous essayez d’accomplir dans chaque section d’un script ou d’un fichier programme.

Par conséquent, vous pouvez inclure des commentaires dans le script ci-dessus comme suit.

#!/usr/bin/awk -f 

#This is how to write a comment in Awk
#using the BEGIN special pattern to print a sentence 

BEGIN { printf "%s\n","Writing my first Awk executable script!" }

Ensuite, nous allons regarder un exemple où nous lisons les entrées d’un fichier. Nous voulons rechercher un utilisateur système nommé aaronkilik dans le fichier de compte, /etc/passwd, puis imprimer le nom d’utilisateur, l’ID utilisateur et le GID de l’utilisateur comme suit :

Vous trouverez ci-dessous le contenu de notre script appelé second.awk.

#! /usr/bin/awk -f 

#use BEGIN sepecial character to set FS built-in variable
BEGIN { FS=":" }

#search for username: aaronkilik and print account details 
/aaronkilik/ { print "Username :",$1,"User ID :",$3,"User GID :",$4 }

Enregistrez le fichier et quittez, rendez le script exécutable et exécutez-le comme ci-dessous :

chmod +x second.awk
./second.awk /etc/passwd

Exemple de sortie :

Username : aaronkilik User ID : 1000 User GID : 1000

Dans le dernier exemple ci-dessous, nous utiliserons l’instruction do while pour afficher les nombres de 0 à 10 :

Vous trouverez ci-dessous le contenu de notre script appelé do.awk.

#! /usr/bin/awk -f 

#printing from 0-10 using a do while statement 
#do while statement 
BEGIN {
#initialize a counter
x=0

do {
    print x;
    x+=1;
}
while(x<=10)
}

Après avoir enregistré le fichier, rendez le script exécutable comme nous l’avons fait précédemment. Ensuite, lancez-le :

chmod +x do.awk
./do.awk

Exemple de sortie :

0
1
2
3
4
5
6
7
8
9
10
Résumé

Nous sommes arrivés à la fin de cette intéressante série Awk, j’espère que vous avez beaucoup appris des 13 parties, en tant qu’introduction au langage de programmation Awk.

Comme je l’ai mentionné dès le début, Awk est un langage de traitement de texte complet, pour cette raison, vous pouvez apprendre plus d’autres aspects du langage de programmation Awk tels que les variables d’environnement, les tableaux, les fonctions (intégrées et définies par l’utilisateur), et au-delà.

Il y a encore des parties supplémentaires de la programmation Awk à apprendre et à maîtriser, donc, ci-dessous, j’ai fourni quelques liens vers des ressources en ligne importantes que vous pouvez utiliser pour développer vos compétences en programmation Awk, ce n’est pas nécessairement tout ce dont vous avez besoin, vous pouvez également rechercher des livres de programmation Awk utiles.

Liens de référence : Le guide de l’utilisateur GNU Awk et la programmation du langage AWK

Pour toute réflexion ou question que vous souhaitez partager, utilisez le formulaire de commentaire ci-dessous. N’oubliez pas de toujours rester connecté à Tecmint pour des séries plus excitantes.

Pour ceux qui recherchent une ressource complète, nous avons compilé tous les articles de la série Awk dans un livre, qui comprend 13 chapitres et s’étend sur 41 pages, couvrant à la fois l’utilisation de base et avancée d’Awk avec des exemples pratiques.

Nom du produitPrixAcheter
eBook : Présentation du guide de démarrage Awk pour les débutants8,99 $[Acheter maintenant]

Articles connexes: