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 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 Labela -
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
