Start·Terminal-Befehle

awk

Textverarbeitung

Aufruf

awk '{print $1}' [file]

Zerlegt jede Zeile in Felder und führt ein kleines Programm darauf aus; $0 ist die ganze Zeile, $1 das erste Feld, und der Standardtrenner ist jede Folge von Leerraum, nicht ein Leerzeichen.

Häufige Optionen

OptionBedeutung
-FSet the field separator, as in -F,
-vPass a shell value in as an awk variable
-fRead the program from a file
$0The whole line; $1 is the first field, NF the field count

Beispiele

awk -F, '{print $2}' data.csv

Second column of a comma-separated file.

awk '$3 > 100' access.log

Only the rows whose third field exceeds 100.

awk '{s+=$1} END {print s}' nums.txt

Adds up the first column.

Sie sind fürs Zusammenstecken mit Pipes gebaut. Drei verkettete Befehle sind meist kürzer als einer, der alles macht.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht awk?

Zerlegt jede Zeile in Felder und führt ein kleines Programm darauf aus; $0 ist die ganze Zeile, $1 das erste Feld, und der Standardtrenner ist jede Folge von Leerraum, nicht ein Leerzeichen.

Q. Wie gibt man ihn ein?

awk '{print $1}' [file] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 4; die vollständige Liste steht in man awk. Der Befehl gehört zu Textverarbeitung.

Verwandte Befehle

man-Seite: man awk