====== 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]]