Awk

Come usare la variabile nel comando awk

Come usare la variabile nel comando awk
Le variabili vengono utilizzate per memorizzare qualsiasi valore temporaneo in qualsiasi linguaggio di programmazione.  La definizione della variabile nel comando awk è simile al linguaggio di scripting bash e funziona come bash quando la variabile shell viene utilizzata con un apice singolo e doppio apice. Il comando Awk ha molte variabili integrate per vari scopi. In questo tutorial viene mostrato come possono essere usate le variabili definite dall'utente, incorporate e della shell nel comando awk usando diversi esempi.

Eesempio -1: definizione e stampa della variabile

Il comando 'awk' usa l'opzione '-v' per definire la variabile. In questo esempio, il myvar la variabile è definita nel comando 'awk' per memorizzare il valore, “Variabile AWK” che viene stampato dopo. Esegui il seguente comando dal terminale per controllare l'output.

$ eco | awk -v myvar='variabile AWK' 'print myvar'

Produzione:

Esempio: 2: utilizzo della variabile shell in awk con virgolette singole e virgolette doppie

L'esempio mostra come si può usare la variabile di shell comando 'awk'. Qui, una variabile di shell, miava è dichiarato con il valore, "Suggerimento Linux" nel primo comando. Il simbolo '$' viene utilizzato con il nome di una variabile di shell per leggere il valore. Il secondo comando legge la variabile, $myval con un apice(') e il terzo comando legge la variabile $myvar con doppi apici(“) nell'istruzione 'awk'.

$ myvar="Suggerimento Linux"
$ eco | awk -v awkvar='$myvar' ' print awkvar; '
$ eco | awk -v awkvar="$myvar" ' print awkvar; '

Produzione:

Viene mostrato nell'output che il valore di $myvar non può essere letto quando è racchiuso tra un singolo apice (') e l'output è $myvar. Il valore di $myvar viene stampato quando è racchiuso tra virgolette (").

Esempio - 3: Lettura della variabile ARGC in awk

La variabile ARGC viene utilizzata per contare il numero totale di argomenti della riga di comando. Tre variabili degli argomenti della riga di comando (t1, t2, t3) vengono passate nel seguente script awk. Qui, il numero totale di argomenti con lo script è 4. Esegui lo script dal terminale.

$ awk 'BEGINprint "Totale argomenti=",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 chiamato cliente.TXT con il seguente contenuto per mettere in pratica questo esempio. Qui, ogni campo del file è separato da singolo tab spazio.

cliente.TXT

ID        Nome
103847    Giovanni Michele
209485    Watson
974732    Mira Hossain

Il comando Awk può leggere ogni campo da qualsiasi file di testo tramite 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 tab spazi. Esegui lo script dal terminale.

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

Produzione:

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

Esempio 5: utilizzo dell'opzione variabile incorporata, FS e separatore di campo con il comando awk

La variabile FS viene utilizzata nel comando awk come separatore di campo. Lo spazio viene utilizzato come valore predefinito di FS. Il seguente comando leggerà il file cliente.TXT usando lo spazio come separatore di campo e stampa il contenuto del file. Esegui il comando da terminale.

$ awk cliente FS.TXT

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Il comando Awk può utilizzare altri caratteri come separatore di campo utilizzando l'opzione '-F'. Crea un file di testo chiamato Prodotto.TXT con il seguente contenuto dove ':' è usato 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 l'ID del prodotto, il nome e il prezzo. Il seguente comando awk stamperà solo il secondo campo di ogni riga. Esegui i comandi dal terminale.

$ prodotto per gatti.TXT
$ awk -F ':' ' print $2 ' prodotto.TXT

Produzione:

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

Esempio - 6: utilizzo della variabile incorporata, NR con il 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 chiamato alunno.TXT per testare la funzione di questa variabile.

alunno.TXT

Nome      Lotto     Semestre
Giovanni      20        3
Mira      22        1
Ella      18
Carlo    15        8

Il seguente script awk stamperà le prime tre righe di Prodotto.TXT file. Qui, viene aggiunta una condizione 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.

$ gatto studente.txt | awk 'NR < 4'

Esempio - 7: utilizzo della variabile incorporata, NF con il 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 al file, alunno.TXT che è stato 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 da terminale.

$ gatto studente.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: utilizzo della variabile incorporata, OFS con il comando awk

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

$ prodotto per gatti.TXT
$ awk -F ':' 'BEGINOFS="->"; stampa $2,$3;' prodotto.TXT

Produzione:

Il seguente output verrà stampato dopo aver eseguito i comandi.

Conclusione:

In questo tutorial si tenta di spiegare gli usi più comuni delle variabili awk. Spero che il lettore sarà in grado di utilizzare correttamente le variabili awk nello script dopo aver praticato questo tutorial.

Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...
SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...
Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...