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}'
  • sed entfernt Kommentare
  • awk berechnet 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