AWK è uno strumento di scripting estremamente potente e versatile disponibile in quasi tutti i sistemi operativi basati su UNIX, compreso Linux. È particolarmente utile per elaborare dati tabellari, testi strutturati e log di file. AWK legge e analizza i file linea per linea, utilizzando un linguaggio di programmazione specifico che consente di eseguire azioni complesse sui dati in ingresso. Questo articolo introduce il comando AWK attraverso 10 esempi pratici che dimostrano la sua flessibilità e potenza.
1. Stampa di Tutte le Linee di un File
bash
awk '{print}' file.txt
Questo comando stampa tutte le linee del file file.txt. È equivalente al comando cat file.txt.
2. Stampa di una Colonna Specifica
bash
awk '{print $1}' file.txt
Se file.txt contiene dati separati da spazi, questo comando stampa solo la prima colonna di ogni riga. $1 si riferisce alla prima colonna, $2 alla seconda, e così via.
3. Somma dei Valori di una Colonna
bash
awk '{sum += $1} END {print sum}' file.txt
Questo esempio somma tutti i valori presenti nella prima colonna di file.txt e stampa il totale alla fine.
4. Filtrare le Linee che Corrispondono a un Pattern
bash
awk '/pattern/ {print}' file.txt
Stampa solo le linee di file.txt che contengono il termine “pattern”.
5. Modificare il Separatore di Campo
bash
awk -F, '{print $2}' file.csv
Utilizza la virgola (,) come separatore di campo per elaborare un file CSV e stampa la seconda colonna di ogni riga.
6. Stampa Condizionale delle Linee
bash
awk '$1 > 100 {print}' file.txt
Stampa le linee di file.txt dove il valore della prima colonna è maggiore di 100.
7. Passaggio di Variabili ad AWK
bash
awk -v limite=100 '$1 > limite {print}' file.txt
Definisce una variabile limite con valore 100 e stampa le linee dove il valore della prima colonna supera questo limite.
8. Formattazione dell’Output
bash
awk '{printf "%-10s %-8s\n", $1, $2}' file.txt
Stampa le prime due colonne di file.txt, formattando l’output in colonne di larghezza fissa.
9. Esecuzione di Più Comandi
bash
awk '{sum += $1; count++} END {print "Media:", sum/count}' file.txt
Calcola e stampa la media dei valori presenti nella prima colonna di file.txt.
10. Elaborazione di Più File
bash
awk '{print FILENAME, $0}' file1.txt file2.txt
Stampa tutte le linee di file1.txt e file2.txt, precedute dal nome del file di origine.
Conclusione
Questi esempi dimostrano solo una frazione delle capacità di AWK. Che si tratti di elaborare dati, generare report, o eseguire operazioni di testo complesse, AWK è uno strumento incredibilmente potente che può semplificare notevolmente le attività di scripting. Grazie alla sua sintassi espressiva e alla capacità di lavorare efficientemente con i dati strutturati, AWK rimane uno strumento indispensabile per gli amministratori di sistema, i programmatori e gli analisti di dati che lavorano in ambienti Linux.
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.