In den bisherigen Kapiteln hast du gesehen, wie mächtig awk für Datenanalyse im Terminal ist.
Doch awk ist nicht das einzige Tool für Textverarbeitung – ebenso wichtig ist sed, der sogenannte Stream Editor.
Beide Werkzeuge gehören zu den Klassikern unter Linux und werden oft verwechselt. In diesem Bonusartikel schauen wir uns an, wo die Unterschiede liegen und wie sie sich ergänzen
🔹 Was ist sed?
- awk = benannt nach Aho, Weinberger, Kernighan (Entwickler).
- Arbeitet ebenfalls zeilenweise, zerlegt jede Zeile aber zusätzlich in Felder.
- Spezialisiert auf:
-
- Arbeiten mit Spalten (z. B. CSV, Logfiles),
- Bedingungen & Muster,
- Berechnungen & Statistiken.
-
Beispiel: Nur die zweite Spalte (Alter) ausgeben:
awk '{print $2}' users.txt
🔹 Unterschiede auf den Punkt gebracht
sed
Hauptaufgabe: Textbearbeitung
Focus: Zeilenweise, Muster
Typische Operatoren: Ersetzen, Löschen, Einfügen
Syntax-Stil: Kürzer, regex-basiert
Stärke: Textumformung
awk
Hauptaufgabe: Datenanalyse
Focus: Zeilen + Spalten (Felder)
Typische Operatoren: Filtern, Berechnen, Formatieren
Syntax-Stil: Etwas komplexer, skriptartig
Stärke: Zahlen & Strukturen
🔹 Gemeinsamkeiten
- Beide arbeiten zeilenorientiert.
- Beide können Reguläre Ausdrücke nutzen.
- Beide sind perfekt für Pipes und lassen sich mit anderen Tools wie
grep
kombinieren. - Beide sind extrem schnell und ideal für Admins und DevOps.
🔹 Wann sed, wann awk?
- sed, wenn du …
- einfache Textänderungen brauchst,
- nur ganze Zeilen löschen oder manipulieren willst,
- eine Datei automatisiert umschreiben willst.
- awk, wenn du …
- mit strukturierten Daten arbeitest (z. B. CSV, Logs),
- Bedingungen und Berechnungen brauchst,
- Berichte oder Statistiken direkt erzeugen willst.
👉 In der Praxis nutzt du oft beide Tools zusammen – sed für die Vorbearbeitung, awk für die Analyse.
🔹 Übung
- Erstelle eine Datei
demo.txt
:Alice 25 Berlin Bob 30 Hamburg Charlie 22 Köln
- Ersetze mit sed alle „Berlin“ durch „Leipzig“.
- Gib mit awk nur die Namen (
$1
) aus. - Bonus: Kombiniere beides in einer Pipe – ersetze mit sed und filtere danach mit awk.
✅ Zusammenfassung
- sed ist ein Stream Editor für Textbearbeitung.
- awk ist ein Feld- und Datenanalysator.
- sed = Änderungen im Text, awk = Arbeiten mit Spalten und Zahlen.
- Gemeinsam bilden sie ein unschlagbares Duo für Admins.
👉 Im nächsten Bonus-Artikel zeigen wir dir ein praktisches Beispiel: Textbereinigung mit sed und Datenanalyse mit awk – die perfekte Kombination.
📚 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