Come usare il comando awk in bash

Come usare il comando awk in bash

Quando si lavora nell'ambiente di comando, è essenziale avere una forte comprensione dei vari comandi disponibili per gestire efficacemente file, directory e altri dati. Uno di questi comandi è il comando "awk". AWK è una potente utilità utilizzata per elaborare e manipolare i file di testo nell'ambiente Unix/Linux. Questo articolo spiegherà qual è il comando "awk" e i modi per usarlo in modo efficace.

Qual è il comando "awk"?

Il comando 'AWK' è uno strumento potente per manipolare ed elaborare i file di testo in ambienti UNIX/Linux. Può essere utilizzato per eseguire attività come la corrispondenza dei motivi, il filtraggio, l'ordinamento e la manipolazione dei dati. AWK viene utilizzato principalmente per elaborare e manipolare i dati in modo strutturato.

Come usare il comando awk

AWK è uno strumento di riga di comando che può essere utilizzato in vari modi. Può essere invocato direttamente dalla riga di comando, oppure può essere utilizzato insieme a uno script di shell. Ecco alcuni esempi di come usare AWK:

Esempio 1: contando il numero di righe in un file

Per contare il numero di righe in un file, è possibile utilizzare la seguente sintassi AWK:

awk 'end print nr'


Qui, "NR" è una variabile integrata che contiene il numero di record (linee) elaborate da AWK. La parola chiave "end" dice a AWK di eseguire questo comando dopo che tutte le righe nel file sono state elaborate. Qui ho creato un file di testo file per scopi di illustrazione e quindi ho usato la sintassi sopra in uno script di shell che è:

#!/Bin/Bash
Awk 'end print nr' Testfile.TXT


Il file di testo che ho creato ha due righe e quando viene utilizzato il comando awk l'uscita visualizzata 2, è possibile visualizzare il file di testo che ho creato nell'immagine qui sotto:

Esempio 2: Filtraggio dei dati

L'AWK può essere utilizzato per filtrare i dati in base a criteri specifici ed ecco la sintassi che si dovrebbe usare per tale scopo:

awk '!// '


Ad esempio, è possibile utilizzare il comando qui sotto per filtrare tutte le righe in un file che contengono la parola "Ciao."

#!Bin/Bash
awk '!/Ciao/'testfile.TXT


In questo esempio, il "!"Il simbolo nega la ricerca di espressione regolare, quindi tutte le righe che non contengono la parola" ciao "verranno stampate. Ho usato lo stesso file di testo dell'esempio precedente, quindi ecco l'output dello script sopra indicato:

Esempio 3: estrazione di campi specifici

AWK può anche essere utilizzato per estrarre campi specifici da un file. Ad esempio, se si dispone di un file contenente un elenco di nomi e indirizzi e si desidera estrarre solo i nomi, è possibile utilizzare il seguente comando:

awk 'print $'


Qui per illustrazione, ho stampato il primo campo dello stesso file di testo e "$ 1" rappresenta il primo campo in ogni riga del file. Il comando "stampa" dice a Awk di stampare solo quel campo.

#!/Bin/Bash
Testfile Awk 'Print $ 1'.TXT


Nel file di testo la prima voce della prima riga è "questa" e la prima voce della seconda riga è "ciao", quindi ecco l'output del codice dato:

Conclusione

Il comando AWK è uno strumento potente che viene utilizzato per manipolare ed elaborare i file di testo. Ti consente di eseguire varie operazioni su file di testo, come la stampa di colonne specifiche, la ricerca di schemi e il calcolo delle somme. Padroneggiando le basi di AWK, puoi semplificare il flusso di lavoro e diventare un utente Linux o UNIX più efficiente ed efficace.