Potenti segreti rivelati: padroneggiare il comando awk per domare Linux!

Foto dell'autore

Di Martino




La commande awk : un outil puissant et polyvalent pour le traitement de texte sous Linux

Il comando awk: uno strumento potente e versatile per l'elaborazione testi su Linux

Nel mondo dell'elaborazione testi su Linux, il comando awk si distingue come uno strumento potente e versatile. Dalla manipolazione di stringhe di caratteri alla gestione di variabili e loop, questo articolo esplora in profondità i diversi aspetti di questo versatile comando.

Sintassi di base di AWK

Il comando awk è uno strumento di manipolazione del testo in Linux che consente di elaborare i dati utilizzando uno specifico linguaggio di scripting. Questo è un comando molto versatile per filtrare e trasformare le linee in un file di testo. In questo articolo esploreremo in modo approfondito come utilizzare il comando awk, concentrandoci su cose come variabili, campi, ciclo for ed espressioni regolari per citarne alcuni.

La riga di comando standard per awk solitamente assomiglia a questa:

awk 'modello { azione }' file.txt

In questa sintassi, "modello" è un'espressione che dovrebbe restituire vero o falso e "azione" è ciò che verrà eseguito se il modello è vero. Il file su cui funziona il comando awk è rappresentato da file.txt.

“AWK è un linguaggio di programmazione progettato per l'elaborazione testi e particolarmente utile per la trasformazione dei dati o la generazione di report. » – Citazione di Alfred Aho, uno dei creatori di AWK.

Campi e variabili

Quando awk legge una riga da un file, divide la riga in campi. Per impostazione predefinita, un campo è definito come un insieme di caratteri separati da spazi bianchi. Puoi accedere a questi campi utilizzando variabili speciali come $1 per il primo campo, $2 per il secondo, ecc. Ad esempio, se hai un file txt (fic.txt) contenente:

Giovanni 25 Giovanni 30

Il seguente comando awk mostrerà solo i nomi:

awk '{ print $1 }' fic.txt

Utilizzando BEGIN e END

Il comando awk può utilizzare i blocchi BEGIN e END per eseguire azioni rispettivamente prima di leggere il file e dopo aver terminato la lettura del file.

awk 'INIZIO { stampa "Inizio" } { stampa } FINE { stampa "Fine" }' file.txt

In questo esempio, awk Begin print “Start” viene eseguito prima che le righe del file vengano lette e print “End” viene eseguito dopo.

Leggere :  Scopri il paradigma rivoluzionario di Flatpak su Linux e padroneggia la sua installazione impeccabile!

Gestione delle stringhe di caratteri

AWK ha diverse funzioni integrate per manipolare le stringhe. Ad esempio, la funzione substr() può essere utilizzata per estrarre una sottostringa da una determinata stringa.

awk '{ print substr($1, 1, 3) }' file.txt

Loop e array

Il ciclo for viene spesso utilizzato con awk per eseguire iterazioni su array o sequenze numeriche. Ecco come utilizzare un ciclo for per stampare tutti i campi di seguito:

awk '{ for(i = 1; i <= NF; i++) { print $i } }' file.txt

Con il comando awk puoi eseguire complesse attività di manipolazione del testo con facilità ed efficienza. Che si tratti di filtrare dati, generare report o eseguire trasformazioni, awk offre una soluzione versatile e potente per manipolare il testo su Linux.


Martin

Lascia un commento