Syntaxe:
pour (initialisation; condition de terminaison; incrément / décrément)
affirmations
La première partie est utilisée pour initialiser la variable de démarrage pour boucle. La deuxième partie contient la condition de terminaison pour contrôler l'itération de la boucle et la boucle se poursuivra jusqu'à ce que la condition soit vraie. La dernière partie augmentera ou diminuera la variable d'initialisation en fonction de la première partie.
pour (variable dans le tableau / liste)
affirmations
en avant La boucle est utilisée pour effectuer ces tâches où le nombre d'itération de la boucle n'est pas fixe. en avant la boucle est principalement utilisée pour analyser un tableau ou une liste de données. La boucle lit chaque données du tableau ou de la liste et stocke la valeur à une variable dans chaque itération.
Exemple-1: Utilisation simple pour la boucle
Un simple pour la boucle est utilisé dans le script suivant. Ici, comptoir la variable est initialisée par 10 et la boucle se terminera lorsque la valeur de comptoir est moins de 5. Le script imprimera le comptoir Valeurs de 10 à 5. Exécutez la commande à partir du terminal.
$ echo | awk 'for (compter = 10; counter> = 5; counter--)
Imprimer "Running for", Counter, "Times."," \ n "; '
Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande.
Exemple-2: Utilisation de boucle pour lire un tableau
Un tableau nommé client est déclaré dans le script suivant où le client identifiant est défini comme un index de tableau et le client nom est défini sous forme de valeur de tableau. en avant LOOP est utilisé ici pour itérer chaque index du tableau et imprimer le nom du client. Exécutez le script à partir du terminal.
$ echo | awk 'begin client ["4587"] = "Neil Johnson";
Client ["8953"] = "Ella Binte Nazir";
Client ["3455"] = "Bruce Hyslop";
Client ["6335"] = "Isabella";
Fin pour (i en client)
Imprimez "le nom de", i "est", client [i]
'
Sortir:
La sortie suivante apparaîtra après avoir exécuté le script.
Exemple-3: Utilisation de Nested for Loop
Lorsqu'une boucle pour une boucle est déclarée sous un autre pour une boucle, elle s'appelle imbriquée pour la boucle. La boucle extérieure utilisée dans ce script itérera 2 fois et la boucle intérieure iratera 3 fois. Ainsi, l'instruction IMPRESS sera exécutée pour, (2x3 = 6) 6 fois. Exécutez le script à partir du terminal.
$ echo | awk 'end for (i = 1; i<=2; i++)
pour (j = 1; j<=3; j++)
imprimer "iterating row", i, et colonne ", j," \ n "; '
Sortir:
La sortie suivante apparaîtra après l'exécution du script.
Exemple-4: Utilisation de la boucle avec une déclaration de pause
casser La déclaration est utilisée dans n'importe quelle boucle pour terminer la boucle avant d'atteindre la condition de terminaison en fonction de la condition particulière. Dans le script suivant, pour Loop commencera à partir de 3 et il se terminera quand la valeur de je est supérieur à 20. Mais quand la valeur de je sera égal à la variable nobs alors la condition If sera vraie et la boucle se terminera pour le casser déclaration.
$ echo | awk 'begin num = 7; End for (i = 3; i<=20; i++)
if (i == num) casser;
autre
imprimer "valeur actuelle de i =", i, "\ n"; '
Sortir:
Ici, si la condition est fausse pour quatre itérations lorsque la valeur de je est 3,4,5 et 6. Ainsi, la sortie suivante est imprimée pour les quatre itérations.
Exemple-5: Utilisation de la boucle avec une instruction continue
Continuer la déclaration est utilisée dans n'importe quelle boucle pour omettre toute déclaration en fonction de toute condition particulière. Un tableau nommé produit est déclaré dans le script suivant. en avant La boucle est utilisée pour itérer le tableau et vérifier chaque valeur avec «Logiciel de bureau". Si la valeur correspond, un message indisponible imprimera en omettant un message disponible pour l'instruction Continuer, sinon un message indisponible imprimera. Exécutez le script à partir du terminal.
$ echo | awk 'begin Product ["1001"] = "antivirus";
produit ["1002"] = "Software Office";
produit ["1003"] = "Dessin Software";
Produit ["1004"] = "HDD";
produit ["1005"] = "dvd"; end for (i in Product)
if (Product [i] == "Office Software")
imprimer le produit [i], "n'est pas disponible \ n";
continuer;
imprimer le produit [i], "est disponible", "\ n"; '
Sortir:
La sortie suivante apparaîtra après l'exécution du script.
Exemple-6: Utilisation pour la boucle dans le fichier awk
Créer un fichier texte nommé ventes.SMS et ajouter le contenu suivant pour pratiquer cet exemple.
ventes.SMS
2015 70000
2016 80000
2017 83000
2018 86000
2019 90000
Créer un fichier awk nommé cal_sal.awk avec le script suivant pour calculer le montant total des ventes du fichier ventes.SMS. Le deuxième champ contient le montant des ventes annuel dans le fichier ventes.SMS. Dans le script, les ventes le tableau stockera toutes les valeurs du deuxième champ et somme la variable est initialisée avec 0 pour ajouter toutes les valeurs de ventes déployer. Suivant, en avant la boucle est utilisée pour itérer chaque élément de les ventes tableau et ajouter la valeur avec le somme variable. Enfin, la déclaration d'impression est utilisée pour imprimer la valeur de somme variable pour afficher le montant total des ventes.
cal_sal.awk
ventes [i ++] = 2 $;
sum = 0;
FINIR
pour (I en vente)
sum = sum + ventes [i];
Imprimer "Total Sales Montant =" Sum;
Exécutez la commande suivante pour exécuter le script de cal_sal.fichier awk.
$ awk -f cal_sal.Ventes awk.SMS
Sortir:
Il y a 5 enregistrements dans le ventes.SMS le fichier et la somme du montant des ventes sont 409000 qui sont imprimés après avoir exécuté le script.
Différentes utilisations de la boucle pour la commande awk sont essayées d'expliquer dans ce tutoriel. Hope, le lecteur aura une idée claire d'utiliser pour Loop dans Awk Script et peut utiliser pour Loop correctement dans la programmation awk.