awk verwerkt tekst kolom voor kolom — krachtiger dan cut voor complexe bewerkingen.
awk '{print $1}' bestand.txt
awk -F':' '{print $1}' /etc/passwd
| Variabele | Betekenis |
|---|---|
$0 | Volledige regel |
$1, $2, … | Veld 1, 2, … |
NF | Aantal velden in huidige regel |
NR | Regelnummer |
FS | Scheidingsteken (standaard: spatie/tab) |
Eerste en derde kolom:
awk '{print $1, $3}' bestand.txt
Scheidingsteken instellen:
awk -F':' '{print $1}' /etc/passwd
Voorwaarde toevoegen:
awk '$3 > 1000 {print $1, $3}' /etc/passwd
Som van kolom berekenen:
awk '{sum += $2} END {print "Totaal:", sum}' data.txt
Koptekst overslaan:
awk 'NR > 1 {print $1}' data.csv
Laatste kolom:
awk '{print $NF}' bestand.txt
Doorzoeken en formatteren:
awk '/ERROR/ {print NR": "$0}' app.log
awk heeft een ingebouwde programmeertaal. Voor eenvoudige kolomselectie volstaat cut; voor berekeningen, filtering of formattering is awk veel krachtiger.