Sed/Sed-Skripte

Aus Foxwiki
Version vom 31. März 2023, 10:57 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Sed-Skripte == Kompliziertere und häufig benötigte Sed-Aufrufe schreibt man besser in eine Datei. * Der Aufruf von Sed sieht dann wie folgt aus: sed -f <Skript_Datei> <zu_bearbeitende_Datei> Beim Schreiben eines Skripts gelten folgende Regeln: * Beginnt eine Zeile mit einem Doppelkreuz #, so handelt es sich um einen Kommentar * Vor und nach einem Kommando dürfen keine Leerzeichen, Tabulatoren... * stehen * Mehrere Kommandos auf einer Zeile, s…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Sed-Skripte

Kompliziertere und häufig benötigte Sed-Aufrufe schreibt man besser in eine Datei.

  • Der Aufruf von Sed sieht dann wie folgt aus:
sed -f <Skript_Datei> <zu_bearbeitende_Datei>

Beim Schreiben eines Skripts gelten folgende Regeln: * Beginnt eine Zeile mit einem Doppelkreuz #, so handelt es sich um einen Kommentar

  • Vor und nach einem Kommando dürfen keine Leerzeichen, Tabulatoren...
  • stehen
  • Mehrere Kommandos auf einer Zeile, sind sie durch Semikola voneinander zu trennen

Der Stream Editor wird das gesamte Skript auf jede Zeile der Eingabedatei anwenden.

Als Beispiel dient ein Skript, dass alle deutschen Umlaute in der Eingabedatei umschreibt.

cat umlaut
 ## Ersetzen Umlaute
 s/ä/\ae/g
 s/ü/\ue/g
 s/ö/\oe/g
 s/Ä/\ae/g
 s/Ü/\Ue/g
 s/Ö/\Oe/g
 s/ß/\ss/g

Das Anwendungsbeispiel demonstriert die Möglichkeit der Kopplung von Kommandozeilenbefehlen und einem Skript:

sed -e '1,12d' -f umlaut test.txt
 13 RegEx Zeilen, die den Regulären Ausdruck enthalten
 14 1, RegEx Von Zeile 1 bis zur ersten Zeile, die RegEx enthält