sed und awk gehören zu den mächtigsten Textwerkzeugen unter Linux.
Beide arbeiten zeilenweise – aber mit unterschiedlichem Fokus.
In diesem Bonuskapitel klären wir:
- Was macht
sed? - Was macht
awk? - Wann sollte man welches Werkzeug einsetzen?
- Wie ergänzen sie sich?
🔹 Was ist sed?
sed steht für Stream Editor.
Eigenschaften:
- arbeitet zeilenweise
- spezialisiert auf Suchen und Ersetzen
- kann Zeilen löschen, einfügen oder ersetzen
- ideal für schnelle Texttransformationen
- perfekt für Automatisierung in Shell-Skripten
Typische Beispiele:
sed 's/foo/bar/g' datei.txt sed '/^#/d' config.txt
👉 sed ist ein sehr schneller Text-Filter für einfache bis mittlere Transformationen.
🔹 Was ist awk?
awk ist ein Muster- und Feldverarbeitungswerkzeug.
Eigenschaften:
- arbeitet zeilen- und spaltenbasiert
- erkennt automatisch Felder (Spalten)
- ideal für Filtern, Berechnen, Aggregieren
- besitzt Variablen, Bedingungen und Schleifen
Typische Beispiele:
awk '{print $1}' daten.txt
awk '$3 > 100' daten.txt
👉 awk ist besonders stark bei strukturierten Daten (CSV, Logs, Tabellen).
🔹 Gemeinsamkeiten
Beide Werkzeuge:
- arbeiten standardmäßig zeilenweise
- nutzen reguläre Ausdrücke
- lassen sich perfekt in Pipes kombinieren
- sind ideal für Automatisierung
- sind auf praktisch jedem Linux-System vorhanden
Beispiel Kombination:
sed '/^#/d' daten.txt | awk '{print $2}'
🔹 Unterschiede im Überblick
sed
- Fokus auf Text-Transformation
- Sehr kompakt für Suchen/Ersetzen
- Weniger logisch orientiert
- Kein natürliches Spaltenkonzept
awk
- Fokus auf Feld- und Datenanalyse
- Sehr stark bei Berechnungen
- Programmiersprache-ähnliche Struktur
- Integriertes Feldkonzept ($1, $2, …)
🔹 Wann verwendet man was?
Verwende sed, wenn:
- du Text ersetzen willst
- Zeilen löschen oder einfügen willst
- Konfigurationsdateien anpassen willst
Verwende awk, wenn:
- du Spalten auswerten willst
- Berechnungen durchführen willst
- Logs analysieren willst
- Berichte erzeugen willst
🔹 Praxis-Denkweise
👉 sed bereitet Daten auf.
👉 awk analysiert sie.
Beispiel:
sed '/^#/d' sales.csv | awk -F';' '{sum += $2} END {print sum}'
-
sedentfernt Kommentare -
awkberechnet die Summe
✅ Zusammenfassung
-
sed= Text transformieren -
awk= Daten auswerten - Beide ergänzen sich perfekt
- In Kombination sind sie extrem leistungsfähig
Wenn du beide beherrschst, kannst du sehr viele Text- und Datenprobleme direkt in der Shell lösen – ohne zusätzliche Programme.
👉 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
