Bisher hast du sed-Befehle direkt in der Kommandozeile eingegeben.
Das ist praktisch für kleine Änderungen, wird aber schnell unübersichtlich, wenn mehrere Befehle nötig sind.

Mit sed-Skripten kannst du längere Bearbeitungen klar strukturieren, speichern und jederzeit erneut ausführen.

🔹 Mehrere Befehle kombinieren

Du kannst mehrere Befehle in einem sed-Aufruf kombinieren:

Mit -e

sed -e 's/foo/bar/g' -e '/^#/d' datei.txt

👉 Ersetzt foo durch bar und löscht Kommentarzeilen.

Innerhalb eines Programms

sed 's/foo/bar/g; /^#/d' datei.txt

👉 Befehle werden durch ; getrennt.

🔹 sed-Skripte in Dateien speichern

Lege eine Datei cleanup.sed an:

# Kommentarzeilen entfernen
/^#/d

# foo durch bar ersetzen
s/foo/bar/g

# Zeilen 2–4 löschen
2,4d

Dann ausführbar machen:

sed -f cleanup.sed input.txt

👉 So kannst du komplexe Bearbeitungen mehrfach nutzen.

🔹 Skripte + Backups (-i)

Willst du Änderungen direkt speichern:

sed -i.bak -f cleanup.sed input.txt

👉 Ergebnis wird in input.txt überschrieben, ein Backup liegt in input.txt.bak.

🔹 Beispiel: Logdatei bereinigen

Datei server.log:

# Log Start
INFO: Service gestartet
DEBUG: Verbindung ok
ERROR: Timeout
INFO: Service beendet
# Log Ende

Skript filter.sed:

# Kommentare löschen
/^#/d

# DEBUG-Zeilen entfernen
/DEBUG/d

# INFO durch HINWEIS ersetzen
s/INFO/HINWEIS/g

Ausführung:

sed -f filter.sed server.log

Ausgabe:

HINWEIS: Service gestartet
ERROR: Timeout
HINWEIS: Service beendet

👉 Mit einem Skript ist die Transformation klar dokumentiert.

🔹 Skripte mit Variablen kombinieren

Du kannst auch Shell-Variablen übergeben:

NAME="Alice"
sed "s/User/$NAME/" template.txt

👉 Praktisch für Skripte, die je nach Kontext andere Werte einsetzen.

🔹 Skripte in der Praxis

  • Konfigurationsdateien bereinigen
  • Batch-Änderungen an mehreren Dateien
  • Logfiles standardisieren
  • Reports erzeugen (z. B. bestimmte Spalten markieren)

🔹 Übung

1. Erstelle eine Datei data.txt:

# Kommentare
foo
bar
foo
baz
  • Erstelle ein Skript replace.sed, das:
    • Kommentarzeilen löscht
    • foo durch X ersetzt
    • Zeile 3 entfernt
  • Teste das Skript mit sed -f replace.sed data.txt.

2. Bonus

  • Ergänze dein Skript so, dass es am Ende jeder Datei --- ENDE --- anhängt.

✅ Zusammenfassung

  • Mit -e oder ; kannst du mehrere Befehle kombinieren.
  • In Skriptdateien (.sed) lassen sich Regeln übersichtlich speichern.
  • Mit -f rufst du Skripte auf, mit -i.bak änderst du Dateien direkt mit Backup.
  • sed-Skripte sind ideal für wiederkehrende Aufgaben wie Logbereinigung, Texttransformationen und Massenänderungen.

👉 Im nächsten Kapitel schauen wir uns ein Praxisprojekt an: Wir schreiben ein sed-Skript, das eine Konfigurationsdatei automatisch bereinigt und anpasst.

📚 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