====== sed ======
//S//tream //ED//itor, 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
===== Links =====
* [[https://www.gnu.org/software/sed/manual/sed.html|Homepage GNU sed]]
* [[regular_expressions#sed|RegExp mit sed]]