Comment écrire des scripts à l'aide du langage de programmation awk - Partie 13

Comment écrire des scripts à l'aide du langage de programmation awk - Partie 13

Depuis le début de la série AWK jusqu'à la partie 12, nous avons écrit de petites commandes et programmes AWK sur la ligne de commande et dans les scripts shell respectivement.

Cependant, Awk, Tout comme Shell, est également une langue interprétée, par conséquent, avec tout ce que nous avons traversé dès le début de cette série, vous pouvez maintenant écrire des scripts exécutables awk.

Semblable à la façon dont nous écrivons un script shell, les scripts awk commencent par la ligne:

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

Par exemple sur mon système, le Awk L'utilitaire est situé dans / usr / bin / awk, Par conséquent, je commencerais un script awk comme suit:

#! / usr / bin / awk -f 

Expliquer la ligne ci-dessus:

  1. #! - appelé Case, qui spécifie un interprète pour les instructions d'un script
  2. / usr / bin / awk - est l'interprète
  3. -F - Option interprète, utilisée pour lire un fichier de programme

Cela dit, plongeons maintenant dans la recherche 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", "écrivant mon premier script exécutable awk!" 

Enregistrez le fichier et sortez, puis faites le script exécutable en émettant la commande ci-dessous:

$ chmod + x script.awk 

Par la suite, exécutez-le:

$ ./scénario.awk 
Échantillon de sortie
Écrire mon premier script exécutable awk! 

Un programmeur critique doit être demandé: «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.

Il aide d'autres programmeurs à rechercher votre code pour comprendre ce que vous essayez de réaliser dans chaque section d'un script ou d'un fichier de programme.

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

#!/ usr / bin / awk -f #Chis c'est comment écrire un commentaire dans awk #Using the Begin Special Pattern pour imprimer une phrase Begin printf "% s \ n", "Écrivant mon premier script exécutable awk!" 

Ensuite, nous examinerons 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 imprimez le nom d'utilisateur, l'utilisateur IDENTIFIANT et utilisateur Gid comme suit:

Vous trouverez ci-dessous le contenu de notre script appelé deuxième.awk.

#! / usr / bin / awk -f #Use commence le caractère séparé pour définir la variable intégrée fs commencer fs = ":" #search pour le nom d'utilisateur: aaronKilik et les détails du compte d'impression / aaronKilik / print "username:", 1 $, "ID utilisateur:", 3 $, "utilisateur GID:", 4 $ 

Enregistrez le fichier et sortez, créez l'exécutable de script et exécutez-le comme ci-dessous:

$ chmod + x seconde.awk $ ./deuxième.awk / etc / passwd 
Échantillon de sortie
Nom d'utilisateur: AaronKilik ID utilisateur: 1000 utilisateur GID: 1000 

Dans le dernier exemple ci-dessous, nous utiliserons faire une déclaration Pour imprimer des numéros de 0-10:

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

#! / usr / bin / awk -f #printing from 0-10 Utilisation d'une instruction DO WHALDO #do while instruction commence #Initialize un compteur x = 0 do print x; x + = 1;  tandis que (x<=10)  

Après avoir enregistré le fichier, faites l'exécutable de script comme nous l'avons fait auparavant. Ensuite, exécutez-le:

$ chmod + x do.awk $ ./faire.awk 
Échantillon de sortie
0 1 2 3 4 5 6 7 8 9 10 

Résumé

Nous sommes arrivés à la fin de cette série intéressante awk, j'espère que vous avez beaucoup appris de toutes les 13 parties, comme une introduction au langage de programmation awk.

Comme je l'ai mentionné depuis le début, AWK est un langage complet de traitement de texte, pour cette raison, vous pouvez apprendre plus d'autres aspects du langage de programmation awk tels que les variables environnementales, 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 pour apprendre et maîtriser, donc, ci-dessous, j'ai fourni des liens vers des ressources en ligne importantes que vous pouvez utiliser pour étendre vos compétences en programmation AWK, ce ne sont pas nécessairement tout ce dont vous avez besoin, vous pouvez également regarder Out pour les 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 pensée que vous souhaitez partager ou poser des questions, utilisez le formulaire de commentaire ci-dessous. N'oubliez pas de toujours rester connecté à Tecmint Pour une série plus excitante.