Wenn du bis hierher gekommen bist, kannst du sed bereits produktiv einsetzen. In diesem Bonuskapitel schauen wir hinter die Kulissen:
  • Was ist der Pattern Space?
  • Was ist der Hold Space?
  • Wie funktionieren Labels und Sprünge?
  • Wann sind solche Techniken wirklich sinnvoll?
⚠️ Dieses Kapitel ist optional – für Neugierige und Fortgeschrittene. 🔹 Der Pattern Space – das Arbeitsfenster von sed sed arbeitet zeilenweise. Für jede eingelesene Zeile passiert:
  1. Zeile wird in den Pattern Space geladen
  2. Befehle werden angewendet
  3. Ergebnis wird ausgegeben (sofern nicht unterdrückt)
  4. Nächste Zeile wird geladen
Beispiel:
sed 's/foo/bar/' datei.txt
Hier wird jede Zeile einzeln in den Pattern Space geladen und bearbeitet. 👉 Der Pattern Space ist also die „aktuelle Arbeitszeile“.

🔹 Der Hold Space – temporärer Speicher

Neben dem Pattern Space gibt es einen zweiten Speicherbereich: 👉 den Hold Space Dort kann sed Inhalte zwischenspeichern. Wichtige Befehle: h → Pattern Space in Hold Space kopieren H → anhängen g → Hold Space in Pattern Space kopieren G → anhängen x → beide tauschen Beispiel: Erste Zeile am Ende erneut ausgeben Datei: Was passiert?
  • 1h → erste Zeile in Hold Space speichern
  • 1!H → alle weiteren Zeilen anhängen
  • $g → am Ende Hold Space zurückholen
Das ist bereits fortgeschritten – aber es zeigt das Prinzip.

🔹 7.3 Labels und Sprünge

sed kann mit Marken arbeiten. Syntax:
:a
... Befehle ...
b a
  • :a → Label definieren
  • b a → springe zu Label a
  • t a → springe bei erfolgreicher Substitution
Beispiel: Mehrfache Leerzeichen reduzieren
sed ':a; s/  / /; t a' datei.txt
Was passiert?
  • Ersetze doppelte Leerzeichen durch ein einzelnes
  • Wenn eine Ersetzung stattfand (t a), springe zurück
  • Wiederhole, bis keine doppelten Leerzeichen mehr existieren
👉 Das ist eine einfache Schleife in sed.

🔹 Mehrzeilige Verarbeitung

Normalerweise arbeitet sed zeilenweise. Mit N können mehrere Zeilen zusammengeführt werden. Beispiel:
sed 'N; s/n/ /' datei.txt
👉 Liest zwei Zeilen ein und ersetzt den Zeilenumbruch durch ein Leerzeichen. Das ist hilfreich bei:
  • Logdateien
  • strukturierten Texten
  • Konfigurationsblöcken
⚠️ Wann solltest du diese Techniken verwenden? Nur wenn:
  • Einzeiler nicht mehr reichen
  • Logik über mehrere Zeilen nötig ist
  • du wirklich sed einsetzen willst
  • Oft ist ein kleines Bash- oder awk-Skript klarer.
👉 Fortgeschrittene sed-Techniken sind mächtig – aber nicht immer die beste Lösung.

✅ Übung (Bonus)

Aufgabe 1 Erstelle eine Datei:
cat > bonus.txt <<'EOF'
Dies    ist   ein   Test
EOF
Reduziere alle mehrfachen Leerzeichen auf genau eines – mit einer sed-Schleife. Aufgabe 2 Erstelle eine Datei mit zwei Zeilen:
Hallo
Welt
Verbinde beide Zeilen zu:
Hallo Welt
Mit einem sed-Befehl.

✅ Zusammenfassung

In diesem Bonuskapitel hast du gelernt:
  • was der Pattern Space ist
  • wie der Hold Space funktioniert
  • wie man mit Labels und Sprüngen arbeitet
  • wie einfache Schleifen in sed möglich sind
👉 Diese Techniken machen sed extrem flexibel – aber auch komplexer. Du kannst jetzt: Du kannst jetzt:
  • Text suchen und ersetzen
  • Zeilen gezielt bearbeiten
  • sed-Skripte erstellen
  • sed in Pipelines einsetzen
  • Konfigurationsdateien automatisieren
  • und fortgeschrittene Techniken verstehen
Damit beherrschst du sed auf einem produktiven Linux-Administrator-Niveau.  

📚 Inhaltsverzeichnis

👉 sed Kapitel 1: Grundlagen von sed – erste Ersetzungen & Konzepte 👉 sed Kapitel 2: Suchen & Ersetzen mit sed – Grundlagen & Regex 👉 sed Kapitel 3: Zeilen bearbeiten mit sed 👉 sed Kapitel 4: sed-Skripte schreiben & kombinieren 👉 sed Kapitel 5: sed in Kombination mit anderen Tools 👉 sed Kapitel 6: Praxisprojekt – Konfigurationsdateien automatisch bereinigen & anpassen

⭐ Bonus-Kapitel

👉 sed Kapitel 7: Bonus – Profi-Tipps & Best Practices für sed im Alltag