Programmvorstellung: sed

sed steht für Stream EDitor und ist ein bekanntes Unix-Werkzeug, mit dem Texte geändert werden können. sed ermöglicht die automatisierte Manipulation per Kommandozeile.

Installation

sed ist eigentlich bei jeder ordentlichen Linux-Distribution schon vorinstalliert, wenn man allerdings aus welchen Gründen auch immer, sed gelöscht hat, kann man dieses in Ubuntu mit

wieder neuinstallieren. Auf der sed-Homepage kann man den Quellcode und Binärpakete für verschiedene Betriebssysteme, wie OS/2, Win3.x-Win2k, MS-DOS, HPUX und natürlich Linux herunterladen.

Bedienung

Standardfunktion von sed ist das Ersetzen von Argumenten in Dokumenten. Da sed ausschließlich über das Terminal bedient wird, erfolgt die Bedienung auch ausschließlich über Befehle. Um ein Wort in einem Dokument zu ersetzen, gibt es den Befehl

s steht in diesem Fall für „substitution“, also „ersetzen“ und das g steht für „global“, also dass jedes Argument ersetzt werden soll.
Mit sed kann man Wörter oder Argumente auch komplett aus einem Text entfernen, indem man für „neu“ einfach nichts einsetzt. Für den Fall, dass mal ein / im Ausdruck vorkommt, kann man mit sed auch ein anderes Trennzeichen definieren. Soll bspw. der Ausdruck Damen/ Herren durch Männer und Frauen ersetzt werden, sollte man ein alternatives Sonderzeichen als Trennzeichen definieren:

.

Außerdem gibt es die Funktion d , der eine bestimmte Zeile löscht. Der Befehl

würde zu einem leeren Dokument führen, weswegen man noch definieren sollte, welche Zeile gelöscht werden soll. Dies geschieht nach dem Schema

, wobei das Wort ausdruck in einer Zeile vorkommen muss, damit die Zeile komplett gelöscht wird.
Man kann auch sed als Ersatz für das Programm grep nehmen, dass Zeilen aus einem Dokument ausgibt, die einen bestimmten Ausdruck enthalten. Der Code dafür ist folgendermaßen:

Anwendungsbeispiele

Man kann mit sed viele lustige Spielereien machen, wie zum Beispiel ein Programm, um einen anonymen Serienbrief zu personalisieren ;)^^
Eine wirklich sinnvolle Einsatzweise ist ein Text-to-HTML-Konverter, er ersetzt die Sonderzeichen ä,ö,ü usw. automatisch in die HTML-Codes dafür. Außerdem kann man mit sed auch das Einfügen von Bildern in HTML-Dokumente vereinfachen, da man sozusagen eigene Befehle, die einfacher sind als die Standard-HTML-Tags, erstellen kann. Unsere Blogeinträge über Gobby werden mit einem eigenen Syntax geschrieben und dann von einem selbstgeschriebenen Programm mit sed in ein HTML-Dokument umgewandelt.
Ein weiteres sinnvolles Einsatzgebiet von sed ist das Löschen von überflüssigen Leerzeichen.

ersetzt diese durch ein einziges. Zur Erklärung: das \+ bedeutet: Der Ausdruck davor soll mindestens einmal vorkommen.


Beteiligte Autoren: benni, joeserin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *