Inhaltsverzeichnis
sed
Stream EDitor, ein Unix-Werkzeug zur Bearbeitung von Texten
String ersetzen
Mit dem Befehl s
lassen sich Ersetzungen vornehmen.
sed 's/old pattern/new pattern/'
Um mehrere Treffer in einer Zeile zu ersetzen, wird das Flag g
am Ende benötigt:
sed 's/old pattern/new pattern/g'
Als Trennzeichen muss nicht /
verwendet werden.
Das Zeichen nach s
wird automatisch das Trennzeichen.
Jedes beliebige Zeichen kann dafür verwendet werden.
Zeile mit bestimmtem String entfernen
Mit dem Befehl d
wird die ganze Zeile gelöscht, die „pattern to match“ enthält.
sed '/pattern to match/d' ./infile
Inplace-Operation
POSIX-sed benötigt eine separate Ausgabedatei.
sed '/pattern to match/d' ./infile > ./outfile
GNU sed kann dagegen mit der Option -i
bzw. --in-place
auch direkt die Eingangsdatei bearbeiten:
sed -i '/pattern to match/d' ./infile sed --in-place '/pattern to match/d' ./infile
Escaping
Einfache Anführungszeichen (single quotes) müssen mit \
escaped werden und zusätzlich von zwei einfachen Einführungszeichen eingeschlossen werden.
Das folgende Beispiel ersetzt einfache Anführungszeichen durch Leerzeichen:
sed 's/'\''/ /g' input