Suchen und ersetzen per Command Line (Update: 2021-06)

Auf Mac OS X kann man, wie auf allen Unix-Systemen das Kommando „sed“ benutzen um in einer Text-Datei Zeichen zu suchen und zu ersetzen.

Im konkreten Fall hatten wir eine HTML-Datei in welcher wir (für ein altes Newsletter-Tool), UTF( kodierte Inhalte in HTML Characters umwandeln wollten, das Kommando – nachdem Ihr mit cd /…. in Euren Folder gesprungen seit – sieht dafür wie folgt aus:

sed -i -- 's/ä/\ä/g' *.html 

Dieser Befehl ersetzt den a-Umlaut in das entsprechende HTML-Zeichen. um jetzt nicht Zeichen für Zeichen separat ersetzen zu müssen, kann man das sed-Komanndo auch kombiniert benutzen, dazu muss man -e ergänzen vor jedem Befehl:

sed -i -- -e 's/ä/\&auml/g' -e 's/ö/\&ouml/g' -e 's/ü/\&uuml/g' -e 's/Ä/\&Auml/g'  -e 's/Ö/\&Ouml/g' -e 's/Ü/\&Uuml/g' -e 's/ß/\&szlig/g' *.html  

Wichtig ist der „backslash“ vor dem kaufmännischen-Und-Zeichen, damit dieses escaped wird.