sed – andreasbecker.de https://blog.andreasbecker.de Quirkst du noch, oder validierst du schon? Thu, 29 Mar 2018 17:05:53 +0000 de-DE hourly 1 https://wordpress.org/?v=5.0.4 Suchen und Ersetzen in Dateien unter Linux https://blog.andreasbecker.de/2011/06/27/suchen-und-ersetzen-in-dateien-unter-linux/ https://blog.andreasbecker.de/2011/06/27/suchen-und-ersetzen-in-dateien-unter-linux/#comments Mon, 27 Jun 2011 06:16:19 +0000 https://blog.andreasbecker.de/?p=134 …  ]]> Auch wenn statische Websites kaum mehr vorhanden sind, und meistens durch ein CMS abgelöst wurden, stößt man hin und wieder doch auf so ein „veraltetes“ System. Sollen nun in allen Dateien Änderungen vorgenommen werden, ist das meist mit großem Aufwand verbunden, da jede Datei geöffnet, geändert und gespeichert werden muss.
Zum Glück haben wir in unserem Linux-System ein sehr mächtiges Tool namens sed. sed steht für Stream EDitor und ist ein Programm, mit dem Texte auf Kommandozeilen-Ebene geändert werden können.

Hier der Aufruf von sed:

sed -i 's/SUCHMUSTER/ERSETZUNGSTEXT/g' /pfad/zur/datei

Da wir aber, wie oben schon genannt, die Änderung nicht nur in einer Datei vornehmen wollen, sondern in mehreren, kombinieren wir sed mit find:

$ find /pfad/zu/dateien -type f -exec sed -i 's/SUCHMUSTER/ERSETZUNGSTEXT/g' {} \;

Zu beachten ist, das reguläre Ausdrücke verwendet werden und somit die entsprechenden Sonderzeichen mit einem Backslash zu maskieren sind.

Welche nützlichen findsed-Kombinationen werden den von euch verwendet?

Flattr this!

]]>
https://blog.andreasbecker.de/2011/06/27/suchen-und-ersetzen-in-dateien-unter-linux/feed/ 3