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:
- Zeile wird in den Pattern Space geladen
- Befehle werden angewendet
- Ergebnis wird ausgegeben (sofern nicht unterdrückt)
- 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 speichern1!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 definierenb a→ springe zu Labelat 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

