Tipp: sed Upper- und Lowercase
Die Manual Page (man 1 sed) bezeichnet den sed als ‘Stream-EDitor zum Filtern und
Transformieren von Text’, womit das Einsatzgebiet genau beschrieben ist.
Was die Manual Page allerdings verschweigt ist, dass es auch nette Möglichkeiten innerhalb des GNU sed gibt
um die Ausgaben auf der rechten Seite (RHS) einer Substitution (’s/von/nach/’) in Groß- oder Kleinbuchstaben
zu wandeln.
Nachzulesen ist der folgende Tipp in der Info - Page zum sed (info sed).
Tipp: Regular Expressions mit sed
Spezialfall Regulärer Ausdruck?
Bisher haben wir in sed lediglich einfache Zeichenketten genutzt.
Genau genommen ist eine Zeichenkette auch nichts anderes als ein
Regulärer Ausdruck: Die Zeichenkette ist eine ‘Verkettung’ der
einzelnen Buchstaben, Ziffern und Zeichen, aus denen sie besteht. Damit
sind Reguläre Ausdrücke kein Sonderfall und ohne zusätzliche Optionen
in sed nutzbar.
Folgender Dateiinhalt dient uns nun in der Datei zitronen.txt als
Ausgangspunkt für unsere Experimente:
Auto-Fahrer fahren Zitronen!
Bier-Brauer brauen Autos.
Zitronen-Falter falten Biere?
Mit einer einfachen Ersetzung lässt sich hier zumindest ein Teil richtigstellen.
Tipp: Regular Expressions mit sed 2
In diesem letzten Teil der Serie lernen wir weitere
Funktionen von sed kennen.
Als Beispiel dient uns dieses Mal eine Konfigurationsdatei des
DHCP-Servers. Sie ist unter dem Namen dhcpd.conf gespeichert und
enthält die eine oder andere Unstimmigkeit.
option domain-name-servers 172.16.1.1;
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.1.1.10 172.1.1.254;
option broadcast-address 172.1.1.255;
option routers 172.16.1.1;
option time-servers 172.16.1.1;
option lease-time 86400;
}
Im Artikel lassen wir sed den geänderten Dateiinhalt ausgeben, gehen
aber davon aus, dass die Änderungen ebenfalls in die Datei geschrieben
werden und damit beim nächsten Aufruf vorhanden sind. Dieses Verhalten
erreichen wir mit der Kommandozeilenoption -i, die wir
bereits im ersten Teil der Serie kennengelernt haben.
Tipp: Stream EDitor - sed
Die Manual Page (man 1 sed) bezeichnet den sed als ‘Stream-EDitor zum Filtern und
Transformieren von Text’, womit das Einsatzgebiet genau beschrieben ist.
Einfaches Ersetzen von Text
Bevor wir einen Text bearbeiten, legen wir ihn als Datei an,
um daran unsere Filter- und Transformationsoperationen auszuführen. Damit er nicht zu lang wird und wir
die Ergebnisse der Ausgaben nicht immer kürzen müssen, benutzen wir den
folgenden Inhalt für die Datei /tmp/datei.txt