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