Suchen und ersetzen per Command Line

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/ä/\ä/g' -e 's/ö/\ö/g' -e 's/ü/\ü/g' -e 's/Ä/\Ä/g'  -e 's/Ö/\Ö/g' -e 's/Ü/\Ü/g' -e 's/ß/\&szlig/g' *.html  

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