Oft reicht ein einzelnes Tool nicht aus:

  • sed ist unschlagbar, wenn es darum geht, Texte zu bereinigen oder zu transformieren.
  • awk glänzt, sobald du mit Spalten, Bedingungen oder Berechnungen arbeiten willst.

In diesem Bonusartikel lernst du, wie du beide Tools in einer einzigen Pipeline kombinierst, um auch komplexe Datenverarbeitungsschritte elegant umzusetzen.

🔹 Beispiel 1: Kommentare entfernen & Daten auswerten

Datei daten.txt:

# Teilnehmerliste
Alice,25,Berlin
Bob,30,Hamburg
Charlie,22,Köln
# EOF

Mit einer Pipeline:

sed '/^#/d' daten.txt | awk -F, '{print $1, $2}'

Ausgabe:

Alice 25
Bob 30
Charlie 22

👉 sed entfernt die #-Zeilen, awk gibt Name + Alter aus.

🔹 Beispiel 2: Werte umwandeln & Berechnen

Angenommen, die Datei preise.txt enthält:

Apfel;1,20
Banane;0,80
Kirsche;2,50

Problem: Komma als Dezimaltrenner und ; als Spaltentrenner.

Pipeline:

sed 's/,/./g' preise.txt | awk -F';' '{sum += $2} END {print "Gesamtpreis:", sum}'

Ausgabe:

Gesamtpreis: 4.5

👉 sed wandelt das Komma in einen Punkt um, awk summiert die Preise.

🔹 Beispiel 3: Strings anpassen & filtern

Datei logs.txt:

INFO: User Alice logged in
ERROR: User Bob failed login
INFO: User Charlie logged in

Pipeline:

sed 's/INFO:/I/; s/ERROR:/E/' logs.txt | awk '$1=="E" {print $2, $3, $4}'

Ausgabe:

User Bob failed

👉 sed kürzt die Log-Level ab, awk filtert alle Fehler-Einträge.

🔹 Beispiel 4: Mehrere sed-Befehle & awk in einer Pipeline

Datei messwerte.txt:

Temp: 22°C
Temp: 25°C
Temp: 20°C

Pipeline:

sed 's/Temp: //; s/°C//' messwerte.txt | awk '{sum += $1} END {print "Durchschnitt:", sum/NR, "°C"}'

Ausgabe:

Durchschnitt: 22.3333 °C

👉 sed entfernt Textteile, awk berechnet den Durchschnitt.

🔹 Übungen

1. Erstelle eine Datei umsatz.txt:

# Verkäufe
Laptop;800
Handy;500
Tablet;300
# Ende
  • Entferne Kommentare mit sed.
  • Berechne mit awk den Gesamtumsatz.

2. Erstelle eine Datei temperaturen.txt:

20°C
25°C
22°C
  • Entferne das °C mit sed.
  • Berechne den Durchschnitt mit awk.

3. Bonus: Wandle mit sed alle Produktnamen in Großbuchstaben um und zeige mit awk die Summen an.

✅ Zusammenfassung

  • Mit Pipelines kombinierst du die Stärken von sed (Textbearbeitung) und awk (Analyse).
  • sed bereitet die Daten vor → awk wertet sie aus.
  • Typische Kombinationen:
    • sed: Kommentare entfernen, Zeichen ersetzen, Format anpassen.
    • awk: Spalten berechnen, Bedingungen anwenden, Statistiken erstellen.
  • Zusammen bilden sie ein unsichtbares Admin-Superteam für Datenverarbeitung.

👉 Im nächsten Bonus-Artikel entwickeln wir ein Praxisprojekt, bei dem sed und awk gemeinsam eine Logdatei bereinigen, filtern und auswerten.

 

📚 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