awk.md 1.4 KB

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