Introduzione
awk
è un comando potentissimo disponibile su quasi tutti i sistemi UNIX-like, incluso Linux e MacOS. Questo strumento è un linguaggio di programmazione completo progettato per il trattamento di dati strutturati. Può essere utilizzato per manipolare e analizzare i file di testo basati su pattern e azioni.
Installazione
Su molti sistemi Linux e MacOS, awk
è preinstallato. Puoi verificare se è disponibile nel tuo sistema digitando awk
in una shell di comando. Se non è installato, puoi installarlo con il gestore dei pacchetti del tuo sistema. Su Linux, il comando potrebbe essere sudo yum install awk
o sudo apt install awk
, a seconda della distribuzione. Su MacOS, si può usare brew install awk
se hai Homebrew installato.
Sintassi di Base di awk
La sintassi base di awk
è la seguente:
awk '/pattern/ {action}' file
Dove:
pattern
è il modello che stai cercando.action
è ciò che vuoi fare quando il modello viene trovato.file
è il file di testo in cui stai cercando.
Ad esempio, se avessi un file chiamato file.txt
e volessi stampare tutte le righe che contengono la parola "esempio", potresti usare il seguente comando:
awk '/esempio/ {print}' file.txt
Utilizzare Variabili con awk
awk
supporta l'uso di variabili. Le variabili più comuni includono:
$0
che rappresenta l'intera riga.$1
,$2
,$3
, ecc. che rappresentano rispettivamente il primo, il secondo, il terzo, ecc. campo in una riga.
Ad esempio, se avessi un file chiamato file.txt
con il seguente contenuto:
Mario Rossi 12345
Luigi Bianchi 67890
E volessi stampare solo i nomi, potresti usare il seguente comando:
awk '{print $1}' file.txt
Creare Script con awk
awk
può anche essere usato per scrivere script più complessi. Ecco un esempio di uno script awk
:
BEGIN {
print "Inizio dello script"
}
{
print $0
}
END {
print "Fine dello script"
}
Puoi eseguire questo script su un file con il comando awk -f script.awk file.txt
.
Conclusione
awk
è un comando molto potente che può essere usato per manipolare e analizzare i file di testo. Questo tutorial ha introdotto le basi di awk
, ma ci sono molte altre funzionalità e tecniche da esplorare. Buona programmazione con awk
!