Les indices sont précisément les numéros de port.($2 deuxième champ du premier fichier lu par awk).
La condition de la deuxième instruction est indispensable. C'est elle qui permet d'imprimer les adresses (valeur du tableau a) ayant un numéro de port comme indice. La condition proposée par N_BaH était correcte. Elle pouvait aussi simplement s'écrire a[$1] qui s'évalue à TRUE si cet indice (port) existe dans le premier fichier.
Enfin, l'instruction next est également indispensable pour "boucler" sur la première instruction et sa condition FNR==NR et d'ainsi rester sur le premier fichier. Sans elle, la deuxième instruction serait inutilement exécutée pour toutes les lignes du premier fichier. C'est la raison pour laquelle ok.Idriss a dû supprimer les doublons dans son test plus haut.
Quant à la rapidité d'exécution, tout dépend du contexte et de la taille des fichiers. Y-a-t-il plusieurs lignes dans le fichier port? Risque t'on de retrouver des numéros de port dans les adresses mac (grep inutilisable)?
Partager