Bisher hast du gelernt, wie awk Zeilen in Felder zerlegt.
Doch die eigentliche Power von awk zeigt sich, wenn du Bedingungen einsetzt: Du kannst gezielt nur bestimmte Zeilen aus einer Datei auswählen und bearbeiten.
In diesem Kapitel lernst du, wie du mit Mustern und Bedingungen arbeitest – die Grundlage für alle fortgeschrittenen Anwendungen.
🔹 Muster ohne Bedingungen
awk arbeitet nach dem Prinzip:
MUSTER { AKTION }
- MUSTER bestimmt, für welche Zeilen die Aktion ausgeführt wird.
- AKTION ist das, was mit diesen Zeilen passieren soll.
Beispiel: Nur Zeilen mit „Alice“ anzeigen:
awk '/Alice/ {print $0}' users.txt
Ausgabe:
Alice 25 Berlin
👉 Hier ist /Alice/
das Muster, {print $0}
die Aktion.
🔹 Bedingungen mit Vergleichsoperatoren
Du kannst auch Vergleiche auf Felder anwenden.
Beispiel: Nur Nutzer mit Alter größer 25 anzeigen ($2 > 25
):
awk '$2 > 25 {print $1, $2}' users.txt
Ausgabe:
Bob 30
Weitere Vergleichsoperatoren:
==
→ gleich!=
→ ungleich<
,>
,<=
,>=
→ kleiner/größer
🔹 Bedingungen mit Zeichenketten
Du kannst auch Strings vergleichen.
Beispiel: Alle Nutzer aus „Berlin“ anzeigen:
awk '$3 == "Berlin" {print $1, $3}' users.txt
Ausgabe:
Alice Berlin
👉 Mit Stringvergleichen kannst du gezielt nach Städten, Namen oder Schlüsselwörtern filtern.
🔹 Muster & Bedingungen kombinieren
Du kannst Muster (Regex) und Bedingungen kombinieren.
Beispiel: Nutzer, deren Name ein „B“ enthält und die älter als 25 sind:
awk '$1 ~ /B/ && $2 > 25 {print $1, $2}' users.txt
Ausgabe:
Bob 30
👉 awk unterstützt logische Operatoren:
&&
; → UND||
→ ODER!
→ NICHT
🔹 Muster ohne Aktion
Wenn du keine Aktion angibst, gibt awk standardmäßig die ganze Zeile aus.
Beispiel: Alle Zeilen mit „Charlie“ anzeigen:
awk '/Charlie/' users.txt
Ausgabe:
Charlie 22 Köln
👉 Das ist praktisch für schnelle Filter.
🔹 Übung
- Erstelle eine Datei personen.txt:
Anna 18 Berlin Max 27 Hamburg Lisa 32 Köln Tom 24 München
- Zeige nur Personen, die älter als 25 sind.
- Zeige alle Personen, deren Name mit „M“ beginnt.
- Bonus: Kombiniere Bedingungen – alle Personen älter als 20 UND aus „Berlin“.
✅ Zusammenfassung
- awk arbeitet nach dem Prinzip:
MUSTER { AKTION }
. - Mit Mustern (
/Text/
) kannst du Zeilen nach Inhalt filtern. - Mit Bedingungen (
$2 > 25
) kannst du numerische oder textuelle Vergleiche durchführen. - Du kannst Bedingungen kombinieren mit
&&
,||
,!
. - Ohne Aktion gibt awk standardmäßig die ganze Zeile aus.
👉 Im nächsten Kapitel lernst du, wie du mit awk Texte formatierst und Ausgaben schöner gestaltest.
📚 Inhaltsverzeichnis
👉 awk Kapitel 1: Felder & Zeilen verstehen
👉 awk Kapitel 2: Muster & Bedingungen in awk
👉 awk Kapitel 3: Textbearbeitung & Formatierung mit awk
👉 awk Kapitel 4: Berechnungen & Statistiken mit awk
👉 awk Kapitel 5: Eigene awk-Skripte schreiben
👉 awk Kapitel 6: Praxisprojekt – Webserver-Logs analysieren mit awk
⭐ Bonus-Kapitel
👉 awk Bonus 1: Unterschiede & Gemeinsamkeiten von sed und awk
👉 awk Bonus 2: Textbereinigung mit sed, Datenanalyse mit awk
👉 awk Bonus 3: Kombinieren in einer Pipeline – sed & awk zusammen einsetzen
👉 awk Bonus 4: Praxisprojekt – Logdateien filtern, bereinigen und auswerten
👉 awk Bonus 5: Profi-Tricks – Reguläre Ausdrücke für sed & awk im Zusammenspiel