Kurz: Textverarbeitung in der Kommandozeile mit Mustern und Aktionen.
Genauer: AWK wird eingesetzt für Log-Auswertung, CSV- und Tabellenverarbeitung, Berichte, schnelle Einzeiler in Shell-Skripten. AWK (1977, Aho, Weinberger, Kernighan – daher der Name) ist eine kleine Sprache zur zeilenweisen Textverarbeitung. Ein AWK-Programm besteht aus Mustern und Aktionen: muster { aktion }. AWK liest die Eingabe Zeile für Zeile, zerlegt jede Zeile automatisch in Felder (1, 2, …) und führt die Aktion aus, wenn das Muster passt.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 1977 |
| Entwickelt von | Alfred Aho, Peter Weinberger, Brian Kernighan |
| Paradigmen | datengetrieben (Muster–Aktion) |
| Typisierung | dynamisch |
| Ausführung | Interpreter |
| Paketverwaltung | — |
| Dateiendung | .awk |
| Sprachfamilie | Shell- und Textwerkzeuge |
Einsatzgebiete
Log-Auswertung, CSV- und Tabellenverarbeitung, Berichte, schnelle Einzeiler in Shell-Skripten.
So führst du Code aus
Datei skript.awk speichern und mit awk -f skript.awk datei.txt ausführen; einfache Programme direkt als awk '{print $1}' datei.txt.
Das erste Programm
BEGIN {
print "Hallo, Welt!"
print "1 + 2 =", 1 + 2
printf "%s hat %d Punkte\n", "Mia", 17
x = 10
y = x * 2
print x, y
}Ausgabe:
Hallo, Welt!
1 + 2 = 3
Mia hat 17 Punkte
10 20Der Kurs: 8 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: AWK-Kurs auf der Lernseite.
- Einführung und erstes Programm
- Variablen, Ausdrücke und Kontrollfluss
- Arrays und Zeichenketten
- Dateien, Spalten und Berichte
- Fortgeschrittene Techniken
- Reguläre Ausdrücke vertieft
- Praxisprojekte
- Referenz und Spickzettel
Ähnliche Sprachen
- Perl: Das Schweizer Taschenmesser für Text und Skripte
- Bash: Die Kommandozeile automatisieren
- Python: Lesbar, vielseitig, ideal zum Einstieg
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?