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:

  • &&amp; → 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