awk
Een veelzijdige programmeertaal voor het werken met bestanden. Meer informatie: https://github.com/onetrueawk/awk.
- Toon de vijfde kolom (a.k.a. veld) in een spatie-gescheiden bestand:
awk '{print $5}'
pad/naar/bestand
- Toon de tweede kolom van de regels die "foo" bevatten in een spatie-gescheiden bestand:
awk '/
foo/ {print $2}'
pad/naar/bestand
- Toon de laatste kolom van iedere regel in een bestand en maak gebruik van een komma (in plaats van een spatie) als veld scheider:
awk -F ',' '{print $NF}'
pad/naar/bestand
- Tel de waarden in de eerste kolom van een bestand op en toon het totaal:
awk '{s+=$1} END {print s}'
pad/naar/bestand
- Toon iedere derde regel startend vanaf de eerste regel:
awk 'NR%3==1'
pad/naar/bestand
- Toon verschillende waardes gebaseerd op condities:
awk '{if ($1 == "foo") print "Exact match foo"; else if ($1 ~ "bar") print "Partial match bar"; else print "Baz"}'
pad/naar/bestand
- Toon alle regels waarbij de waarde van de 10e kolom gelijk is aan de gespecificeerde waarde:
awk '($10 ==
value)'
- Print een tabel van gebruikers met UID >= 1000 met header en opgemaakte uitvoer, gebruikmakend van een dubbele punt als scheidingsteken (
%-20s
betekent: 20 links uitgelijnde tekens,%6s
betekent: 6 rechts uitgelijnde tekens):
awk 'BEGIN {FS=":"; printf "%-20s %6s %25s\n", "Name", "UID", "Shell"} $3 >= 1000 {printf "%-20s %6d %25s\n", $1, $3, $7}' /etc/passwd