Benutzer-Werkzeuge

Webseiten-Werkzeuge


sed

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
sed [2015/02/10 16:00] – angelegt ollised [2018/02/25 07:17] (aktuell) – [String ersetzen] olli
Zeile 1: Zeile 1:
 ====== sed ====== ====== sed ======
 //S//tream //ED//itor, ein Unix-Werkzeug zur Bearbeitung von Texten //S//tream //ED//itor, ein Unix-Werkzeug zur Bearbeitung von Texten
 +
 +===== String ersetzen =====
 +Mit dem Befehl ''s'' lassen sich Ersetzungen vornehmen.
 +<code bash>
 +sed 's/old pattern/new pattern/'
 +</code>
 +Um mehrere Treffer in einer Zeile zu ersetzen, wird das Flag ''g'' am Ende benötigt:
 +<code bash>
 +sed 's/old pattern/new pattern/g'
 +</code>
 +
 +<WRAP tip round>
 +Als Trennzeichen muss nicht ''/'' verwendet werden.
 +Das Zeichen nach ''s'' wird automatisch das Trennzeichen.
 +Jedes beliebige Zeichen kann dafür verwendet werden.
 +</WRAP>
  
 ===== Zeile mit bestimmtem String entfernen ===== ===== Zeile mit bestimmtem String entfernen =====
 +Mit dem Befehl ''d'' wird die ganze Zeile gelöscht, die "pattern to match" enthält.
 <code bash> <code bash>
-sed '/pattern to match/d' ./infile+sed '/pattern to match/d' ./infile 
 </code> </code>
-oder inplace:+ 
 +===== Inplace-Operation ===== 
 +POSIX-sed benötigt eine separate Ausgabedatei. 
 +<code bash> 
 +sed '/pattern to match/d' ./infile > ./outfile 
 +</code> 
 +GNU sed kann dagegen mit der Option ''-i'' bzw. ''%%--%%in-place'' auch direkt die Eingangsdatei bearbeiten
 <code bash> <code bash>
 sed -i '/pattern to match/d' ./infile sed -i '/pattern to match/d' ./infile
 +sed --in-place '/pattern to match/d' ./infile
 </code> </code>
 +
 +===== 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:
 +<code bash>
 +sed 's/'\''/ /g' input
 +</code>
 +
 +
 +
 +
 +
 +
 +
  
  
 ===== Links ===== ===== Links =====
   * [[https://www.gnu.org/software/sed/manual/sed.html|Homepage GNU sed]]   * [[https://www.gnu.org/software/sed/manual/sed.html|Homepage GNU sed]]
 +  * [[regular_expressions#sed|RegExp mit sed]]
  
sed.1423580432.txt.gz · Zuletzt geändert: 2015/02/10 16:00 von olli