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
| Option | Bedeutung |
|---|---|
| -F | Set the field separator, as in -F, |
| -v | Pass a shell value in as an awk variable |
| -f | Read the program from a file |
| $0 | The whole line; $1 is the first field, NF the field count |
Beispiele
awk -F, '{print $2}' data.csvSecond column of a comma-separated file.
awk '$3 > 100' access.logOnly the rows whose third field exceeds 100.
awk '{s+=$1} END {print s}' nums.txtAdds 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