Come utilizzare la variabile nel comando AWK

Come utilizzare la variabile nel comando AWK
Le variabili vengono utilizzate per archiviare qualsiasi valore temporaneo in qualsiasi linguaggio di programmazione. Definizione della variabile nel comando AWK è simile al linguaggio di scripting bash e funziona come bash quando la variabile shell viene utilizzata con una singola citazione e doppia citazione. Il comando AWK ha molte variabili integrate per vari scopi. In questo tutorial è mostrato come le variabili definite dall'utente, integrate e shell possono essere utilizzate nel comando AWK.

EXAMPLE -1: Definizione e stampa variabile

Il comando 'awk' usa '-v' opzione per definire la variabile. In questo esempio, il myvar La variabile è definita nel comando 'AWK' per archiviare il valore, "Variabile AWK" che è stampato in seguito. Esegui il comando seguente dal terminale per controllare l'output.

$ echo | awk -v myvar = 'awk variabile' 'print myvar'

Produzione:

Esempio - 2: Utilizzo della variabile Shell in AWK con una singola citazione e doppia citazione

L'esempio mostra come la variabile shell può essere utilizzata il comando 'awk'. Qui, una variabile di shell, myvar è dichiarato con il valore, "Linux Suggerimento" Nel primo comando. Il simbolo '$' viene utilizzato con un nome variabile con shell per leggere il valore. Il secondo comando legge la variabile, $ myval con un singolo preventivo (') e il terzo comando legge la variabile $ myvar con doppio preventivo (") nell'istruzione" awk ".

$ myvar = "Linux suggerisce"
$ echo | awk -v awkvar = '$ myvar' 'print awkvar; '
$ echo | awk -v awkvar = "$ myvar" 'print awkvar; '

Produzione:

È mostrato nell'output che il valore di $ myvar non può essere letto quando è racchiuso con un singolo preventivo (') e l'output è $ myvar. Il valore di $ myvar è stampato quando è chiuso con una doppia citazione (“).

Esempio - 3: Lettura della variabile Argc in AWK

La variabile Argc viene utilizzata per contare il numero totale di argomenti della riga di comando. Le variabili degli argomenti di tre righe di comando (T1, T2, T3) sono passate nel seguente script AWK. Qui, il numero totale di argomenti con lo script è 4. Esegui lo script dal terminale.

$ awk 'inizio print "total argoments =", argc' t1 t2 t3

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Esempio - 4: lettura del contenuto del file per variabili di argomento

Crea un file di testo denominato cliente.TXT con i seguenti contenuti per praticare questo esempio. Qui, ogni campo del file è separato da singolo scheda spazio.

cliente.TXT

Nome ID
103847 John Micheal
209485 Watson
974732 Mira Hossain

Il comando awk può leggere ogni campo da qualsiasi file di testo per variabili di argomento. Ci sono due campi in cliente.TXT file. Questi sono ID e nome. Il seguente script stamperà questi due campi per variabili di argomento, $ 1 E $ 2 separando due scheda spazi. Esegui lo script dal terminale.

$ gatto cliente.TXT
$ gatto cliente.txt | awk 'print $ 1 "\ t \ t" $ 2;'

Produzione:

La seguente output apparirà dopo aver eseguito i comandi sopra.

Esempio- 5: Utilizzo della variabile integrata, FS e opzione separatore di campo con comando AWK

La variabile FS viene utilizzata nel comando AWK come separatore di campo. Lo spazio viene utilizzato come valore predefinito di FS. Il comando seguente leggerà il file cliente.TXT Utilizzo dello spazio come separatore di campo e stampare il contenuto del file. Esegui il comando dal terminale.

$ AWK FS Cliente.TXT

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Il comando AWK può utilizzare altri caratteri come separatore di campo usando l'opzione '-f'. Crea un file di testo denominato Prodotto.TXT con il seguente contenuto in cui ":" viene utilizzato come separatore di campo.

Prodotto.TXT

101: torta: $ 30
102: matita: $ 5
103: sapone: $ 3
104: shampoo: $ 10

Ci sono tre campi nel file, Prodotto.TXT che contiene ID, nome e prezzo del prodotto. Il seguente comando AWK stamperà solo il secondo campo di ogni riga. Esegui i comandi dal terminale.

Prodotto da $ cat.TXT
$ awk -f ':' 'print $ 2' Product.TXT

Produzione:

Qui, il primo comando ha stampato il contenuto di Prodotto.TXT e il secondo comando stampato solo il secondo campo del file.

Esempio - 6: Utilizzo della variabile integrata, NR con comando AWK

La variabile NR viene utilizzata nel comando AWK per contare il numero totale di record o righe di un file. Crea un file di testo denominato alunno.TXT Per testare la funzione di questa variabile.

alunno.TXT

Nome batch semestre
Giovanni 20 3
Mira 22 1
Ella 18
Charle 15 8

Il seguente script Awk stamperà le prime tre righe di Prodotto.TXT file. Qui, una condizione viene aggiunta utilizzando la variabile NR. Il comando stamperà quelle righe in cui il valore NR è inferiore a 4. Esegui lo script dal terminale.

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

$ Cat Student.txt | awk 'nr < 4'

Esempio - 7: Utilizzo della variabile integrata, NF con comando AWK

La variabile NF viene utilizzata nel comando AWK per contare il numero totale di campi in ogni riga di un file. Il seguente script AWK viene applicato per il file, alunno.TXT che viene creato nell'esempio precedente. Lo script stamperà quelle righe da alunno.TXT File in cui i campi totali sono inferiori a 3. Esegui il comando dal terminale.

$ Cat Student.txt | awk 'nf < 3'

Produzione:

Esiste solo una riga nel file in cui il numero totale di campi è inferiore a 3 che viene stampato come output.

Esempio - 8: utilizzando la variabile integrata, OFS con comando AWK

La variabile OFS viene utilizzata nel comando AWK per aggiungere il separatore del campo di output nell'output. Prodotto.TXT Il file viene utilizzato in questo esempio per mostrare l'uso della variabile OFS. ':' viene utilizzato come separatore di campo nel prodotto.file txt. Il seguente script Awk ha usato '->' come valore di Ofs e, il secondo e il terzo campi del file verranno stampati aggiungendo questo separatore. Esegui i comandi dal terminale.

Prodotto da $ cat.TXT
$ awk -f ':' 'inizio ofs = " ->"; stampa $ 2, $ 3;' Prodotto.TXT

Produzione:

La seguente uscita verrà stampata dopo l'esecuzione dei comandi.

Conclusione:

Gli usi più comuni delle variabili AWK sono tentati a spiegare in questo tutorial. Spero, il lettore sarà in grado di utilizzare le variabili AWK correttamente nella sceneggiatura dopo aver praticato questo tutorial.