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