Sed – Manipulation von Textdateien

Sed ist ein Streaming Editor. Wer genaueres dazu wissen will, kann das auf Wikipedia nachlesen. Ich schreibe mir hier Zusammenstellungen auf, die mir merkenswert erscheinen.

Ersetzen in Dateien

Manchmal will einfach nur einen Wert an allen Stellen in einer Datei ersetzen:

sed -i 's/Alter Wert/Neuer Wert/g' /PfadZurDatei/Dateiname

Wer öfter mit vim arbeitet, dem wird die Suchen-/Ersetzen-Formation bekannt vorkommen. Weite Such-Ersetz-Möglichkeiten kann man hier nachlesen.

Will man z.B. etwas Anderes ersetzen, als das was man sucht, kann man das auch aufteilen:

sed '/Suchbegriff/ s/Alter Wert/Neuer Wert/' /PfadZurDatei/Dateiname

So werden in dem folgenden Beispiel alle Zeilen der NTP-Konfiguration auskommentiert, die auf den Debian NTP-Pool verweisen:

sed -i '/^server [0-3].debian.pool.ntp.org/ s/server/#server/g' /etc/ntp.conf