Sintassi:
La sintassi per quattro tipi di istruzioni condizionali è menzionata di seguito.
if (condizione)
dichiarazione
L'istruzione esegue quando la condizione if restituisce vera.
if (condizione)
Dichiarazione-1
altro
Dichiarazione-2
L'istruzione-1 esegue quando la condizione if è vera e l'istruzione-2 esegue quando restituisce false.
if (condizione)
Dichiarazione-1
Elseif
Dichiarazione-2
Elseif
Dichiarazione-3
.. .
altro
Dichiarazione-N
Questa istruzione condizionale viene utilizzata per l'esecuzione di un'istruzione in base a più se condizioni. Se la prima condizione è falsa, controlla la seconda condizione. Se la seconda condizione è falsa, allora controlla la terza condizione e così via. Se tutte le condizioni restituiscono false, eseguirà la dichiarazione di altrimenti.
(condizione) ? Dichiarazione-1: Dichiarazione-2
L'operatore ternario può essere utilizzato come alternativa all'istruzione IF-ELSE. Se la condizione è vera, l'istruzione-1 verrà eseguita e se la condizione falsa, allora l'istruzione-2 verrà eseguita.
Esempio-1: usando Simple If in AWK
Crea un file di testo denominato Empiete.TXT Con i seguenti contenuti. Supponiamo che tu debba scoprire il nome del dipartimento, l'età e lo stipendio del dipendente il cui documento di identità è 11002.
dipendente.TXT
11001 vendite 45 $ 3000
11002 ore 32 $ 1500
11003 Marketing 26 $ 1200
11004 ore 25 $ 2500
Una condizione IF semplice viene utilizzata nel seguente script per cercare l'ID 11002 nel primo campo del file. Se la condizione diventa vera, allora stamperà i valori degli altri campi della linea corrispondente, altrimenti nulla verrà stampato.
$ awk '
if ($ 1 == "11002")
Stampa "Nome del dipartimento:", $ 2, "\ n";
Stampa "Age:", $ 3, "\ n";
stampare "stipendio:", $ 4 ", \ n";
' dipendente.TXT
Produzione:
L'ID, 1102 esiste nel file. Quindi, ha stampato gli altri valori del dipendente.
Esempio-2: usando if-else in awk
Supponiamo che tu voglia stampare le informazioni salariali dei dipendenti la cui età è inferiore o uguale a 40 e stampare le informazioni sull'età per gli altri dipendenti. Il seguente script Awk può fare questa attività. C'è solo un dipendente in dipendente.TXT File la cui età ha più di 40 e tutta l'età dei dipendenti è inferiore a 40 anni.
$ awk '
Se ($ 3 <= 40)
Stampa "Lo stipendio di", $ 1, "è", $ 4, "\ n"
altro
Stampa "The Age of", $ 1, "Is", $ 3, "\ n"
' dipendente.TXT
Produzione:
Il seguente output apparirà dopo aver eseguito lo script.
Esempio-3: usando IF-ELSEIF in AWK Script
Crea un file di testo denominato persona.txt con i seguenti contenuti.
persona.TXT
Jackson Male Business
Martin Male Service Holder
Lily Female Manager
CEO maschio di Robinson
Crea un file awk denominato if_elseif.Awk con il seguente codice per stampare il colore preferito di ogni persona il cui nome esiste nel file. L'istruzione IF-ELSEIF viene utilizzata nello script per eseguire questa attività. Lo script leggerà il primo valore di campo del file, dipendente.TXT e verificare con un valore particolare. Se il primo Se la condizione diventa falsa, quindi controllerà il secondo Se condizione e così via. Quando una condizione se diventa vera, verrà assegnato un valore di colore. Se tutte le condizioni diventano false, allora Nessuno sarà assegnato come valore di colore. Il colore preferito di ogni persona stamperà o "Nessuna persona trovata" Stamparrà se nessun nome di persona corrisponde.
if_elseif.Awk
nome = $ 1;
if (name == "jackson") color = "blu";
else if (name == "Martin") color = "Black";
else if (name == "lily") color = "rosso";
else if (name == "Robinson") color = "White";
else color = "Nessuno";
Se (colore!= "Nessuno") stampare "il colore preferito di", nome, "è", colore;
altrimenti stampare "nessuna persona trovata";
Esegui il comando seguente per eseguire il file if_elseif.Awk con la persona.TXT
$ awk -f if_elseif.persona awk.TXT
Produzione:
Il seguente output apparirà dopo aver eseguito il comando.
Esempio-4: usando l'operatore ternario in AWK
Il terzo campo di persona.TXT Il file contiene la professione di ogni persona. Il seguente operatore ternario legge ogni riga del file e corrisponde al terzo valore di campo con "Manager". Se il valore corrisponde, stampa il nome della persona e altrimenti stamperà il genere della persona.
$ awk 'print ($ 3 == "manager") ? "Nome is" $ 1: "Gender è" $ 2 ".TXT
Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script. Una persona con "professione manager esiste nel persona.TXT. Quindi, il nome di una persona è stampato e il genere è stampato per altre persone.
Esempio-5: utilizzando più condizioni nell'istruzione IF
Logico o logico e può essere utilizzato per definire più condizioni nell'istruzione condizionale dello script AWK. Il seguente script Awk legge ogni riga di dipendente.TXT e controlla l'età e la designazione con valori particolari. Logico ed è usato in Se condizione. Quando il valore di età è maggiore o uguale a 30 e la designazione è "HR", l'ID e lo stipendio corrispondente e lo stipendio.
$ awk 'if ($ 3> = 30 && $ 2 == "hr") ID dipendente ",
$ 1, "e", "stipendio:", $ 4, "\ n"; 'Employee.TXT
Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script. Esiste un solo dipendente con la designazione, "HR" in dipendente.TXT. Le informazioni di ID e salario per questo dipendente sono stampate qui.
Gli usi più comuni della dichiarazione condizionale di qualsiasi programmazione standard sono supportati dal comando AWK. Come puoi usare le condizioni singole e multiple in AWK viene spiegato utilizzando esempi molto semplici qui. Speranza Dopo aver praticato questi esempi, lo studente sarà in grado di utilizzare correttamente la dichiarazione condizionale in sceneggiatura awk.