awk

awk verwerkt tekst kolom voor kolom — krachtiger dan cut voor complexe bewerkingen.

Basisgebruik

awk '{print $1}' bestand.txt
awk -F':' '{print $1}' /etc/passwd

Speciale variabelen

VariabeleBetekenis
$0Volledige regel
$1, $2, …Veld 1, 2, …
NFAantal velden in huidige regel
NRRegelnummer
FSScheidingsteken (standaard: spatie/tab)

Voorbeelden

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

Tip

awk heeft een ingebouwde programmeertaal. Voor eenvoudige kolomselectie volstaat cut; voor berekeningen, filtering of formattering is awk veel krachtiger.

tekstscripting