Admin-Tipp

Suchen und Ersetzen in Dateien unter Linux

Linux-Administratoren müssen im Alltag oft nach bestimmten Wörtern in oft großen Files suchen, beispielsweise Log- oder Konfigurationsdateien. Mit dem Tool sed gibt es eine Lösung für die Konsole zum Suchen und Ersetzen von bestimmten Zeichenfolgen.

Lösung: Mit einem graphischen Datei-Explorer ist das Durchsuchen von Dateien meist eine komfortable Angelegenheit. Oft stehen Linux-Administratoren bei Servern oder Clients jedoch nur eine Konsole zur Verfügung. Hier hilft auf Linux-Systemen das Tools sed:

sed -i 's/<alter Begriff>/<neuer Begriff>' /<Pfad>/<Datei>

Nun nehmen wir an, Sie haben nicht nur eine Datei, sondern eine ganze Menge davon. Und in allen müssen Sie einen Begriff ersetzen. Dazu nehmen wir nicht nur sed, sondern kombinieren es mit find:

$ find /<Pfad>/<Dateien> -type f -exec sed -i 's/<alter Begriff>/<neuer Begriff>/g' {} \;

sed: Der Stream Editor ermöglicht das Suchen und Ersetzen von Wörtern in Dateien.
sed: Der Stream Editor ermöglicht das Suchen und Ersetzen von Wörtern in Dateien.

Beachten Sie, dass Sie hier reguläre Ausdrücke verwenden und somit die entsprechenden Sonderzeichen mit einem Backslash zu maskieren sind.

Produkte: Das Tool sed ist im Inventar vieler Linux- und UNIX-Derivate enthalten. (cvi)