Sintassi:
per (inizializzazione; condizione di terminazione; incremento/decremento)
dichiarazioni
La prima parte viene utilizzata per inizializzare la variabile per l'avvio per ciclo continuo. La seconda parte contiene la condizione di terminazione per controllare l'iterazione del ciclo e il ciclo continuerà fino a quando la condizione è vera. L'ultima parte increverà o diminuirà la variabile di inizializzazione in base alla prima parte.
per (variabile in array/elenco)
dichiarazioni
for-in Il ciclo è usato per svolgere quei compiti in cui il numero di iterazione del ciclo non è fisso. for-in Loop viene utilizzato principalmente per analizzare un array o un elenco di dati. Il loop legge ogni dati dall'array o dall'elenco e memorizza il valore a una variabile in ogni iterazione.
Esempio-1: usando Simple for Loop
Un loop semplice viene utilizzato nel seguente script. Qui, contatore La variabile è inizializzata per 10 e il ciclo terminerà quando il valore di contatore è meno di 5. Lo script stamperà il contatore Valori da 10 a 5. Esegui il comando dal terminale.
$ echo | awk 'for (counter = 10; counter> = 5; counter--)
Stampa "Running For", Counter ", Times.","\N"; '
Produzione:
Verrà visualizzato il seguente output dopo aver eseguito il comando.
Esempio-2: Utilizzo del loop for-in per leggere un array
Un array denominato cliente è dichiarato nel seguente script in cui il cliente id è impostato come indice di array e quello del cliente nome è impostato come valore dell'array. for-in Loop viene utilizzato qui per iterare ogni indice dall'array e stampare il nome del cliente. Esegui lo script dal terminale.
$ echo | Awk 'Begin Customer ["4587"] = "Neil Johnson";
Cliente ["8953"] = "Ella Binte Nazir";
Cliente ["3455"] = "Bruce Hyslop";
Cliente ["6335"] = "Isabella";
End for (i in cliente)
Stampa "Il nome di", i, "è", cliente [i]
'
Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script.
Esempio-3: usando nidificato per loop
Quando viene dichiarato un ciclo per un altro per loop, viene chiamato nidificato per loop. Il ciclo esterno utilizzato in questo script iterirà per 2 volte e il ciclo interno iterirà per 3 volte. Quindi, l'istruzione di stampa eseguirà per, (2x3 = 6) 6 volte. Esegui lo script dal terminale.
$ echo | awk 'end for (i = 1; i<=2; i++)
per (j = 1; j<=3; j++)
Stampa "Iterating Row", i, "e colonna", j, "\ n"; '
Produzione:
Il seguente output apparirà dopo aver eseguito lo script.
Esempio-4: Utilizzando per loop con istruzione di pausa
rottura L'istruzione viene utilizzata in qualsiasi ciclo per terminare il ciclo prima di raggiungere la condizione di terminazione in base alla condizione particolare. Nello script seguente, il loop inizierà da 3 e terminerà quando il valore di io è maggiore di 20. Ma quando il valore di io sarà uguale alla variabile Num allora la condizione se sarà vera e il ciclo terminerà per il rottura dichiarazione.
$ echo | awk 'inizio num = 7; End for (i = 3; i<=20; i++)
if (i == num) pausa;
altro
Stampa "Valore corrente di i =", i, "\ n"; '
Produzione:
Qui, se la condizione è falsa per quattro iterazioni quando il valore di io è 3,4,5 e 6. Quindi, la seguente uscita viene stampata per le quattro iterazioni.
Esempio-5: usando per loop con l'istruzione Continua
L'istruzione continua viene utilizzata in qualsiasi ciclo per omettere qualsiasi istruzione in base a qualsiasi condizione particolare. Un array chiamato Prodotto è dichiarato nel seguente script. for-in Loop viene utilizzato per iterare l'array e controllare ogni valore con "Software Office". Se il valore corrisponde, un messaggio non disponibile verrà stampato omettendo il messaggio disponibile per l'istruzione Continua, altrimenti il messaggio non disponibile verrà stampato. Esegui lo script dal terminale.
$ echo | Awk 'Begin Product ["1001"] = "Antivirus";
Prodotto ["1002"] = "Software Office";
Prodotto ["1003"] = "software di disegno";
Prodotto ["1004"] = "HDD";
Product ["1005"] = "dvd"; end for (i in Product)
if (Product [i] == "Office Software")
Prodotto di stampa [i], "non è disponibile \ n";
Continua;
Prodotto di stampa [i], "è disponibile", "\ n"; '
Produzione:
Il seguente output apparirà dopo aver eseguito lo script.
Esempio-6: usando per loop nel file AWK
Crea un file di testo denominato saldi.TXT e aggiungi i seguenti contenuti per praticare questo esempio.
saldi.TXT
2015 70000
2016 80000
2017 83000
2018 86000
2019 90000
Crea un file AWK chiamato cal_sal.Awk con il seguente script per calcolare l'importo totale delle vendite del file saldi.TXT. Il secondo campo contiene l'importo di vendita annuale nel file saldi.TXT. Nella sceneggiatura, I saldi L'array memorizzerà tutti i valori del secondo campo e somma La variabile viene inizializzata con 0 per aggiungere tutti i valori di saldi vettore. Prossimo, for-in Loop è usato per iterare ogni elemento di I saldi array e aggiungere il valore con il somma variabile. Infine, l'istruzione di stampa viene utilizzata per stampare il valore di somma variabile per visualizzare l'importo totale delle vendite.
cal_sal.Awk
vendite [i ++] = $ 2;
somma = 0;
FINE
per (i nelle vendite)
Sum = Sum+Sales [i];
Stampa "totale di vendita totale =" somma;
Esegui il comando seguente per eseguire lo script di Cal_Sal.file awk.
$ awk -f cal_sal.Vendite AWK.TXT
Produzione:
Ci sono 5 record nel saldi.TXT Il file e la somma dell'importo delle vendite sono 409000 che vengono stampati dopo aver eseguito lo script.
Diversi usi di per loop nel comando awk sono tentati di spiegare in questo tutorial. Spero, il lettore avrà un'idea chiara sull'utilizzo del loop in Awk Script e in grado di utilizzare per loop correttamente nella programmazione AWK.