Sed/Befehle

Aus Foxwiki
Version vom 31. März 2023, 13:35 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „===Befehle=== ====Übersicht==== {| class="wikitable sortable options" |- !Option!!Beschreibung |- | ;»Befehle« ||ohne Adressen |- |: Marke||Marke für b- und t-Befehle |- |#Kommentar||Der Kommentar läuft bis zum nächsten Zeilenumbruch (oder dem Ende eines -e-Skriptfragments) |- | }||Die schließende Klammer eines { }-Blocks |} ====Befehle ohne oder mit einer Adresse==== {| class="wikitable sortable options" |- !Option!!Beschreibung |- |=||Gibt die a…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Befehle

Übersicht

Option Beschreibung
;»Befehle« ohne Adressen
: Marke Marke für b- und t-Befehle
#Kommentar Der Kommentar läuft bis zum nächsten Zeilenumbruch (oder dem Ende eines -e-Skriptfragments)
} Die schließende Klammer eines { }-Blocks

Befehle ohne oder mit einer Adresse

Option Beschreibung
= Gibt die aktuelle Zeilennumer aus
a \
Text Text anhängen, der eingebettete Zeilenumbrüche mit vorangestelltem Rückschrägstrich (»backslash«) enthält
i \
Text Text einfügen, der eingebettete Zeilenumbrüche mit vorangestelltem Rückschrägstrich (»backslash«) enthält
q [Rückgabewert] Das Sed-Skript sofort ohne Verarbeitung weiterer Eingabe beenden. Allerdings wird der aktuelle Musterbereich ausgegeben, falls »auto-print« nicht deaktiviert ist. Das Argument Rückgabewert ist eine GNU-Erweiterung
Q [Rückgabewert] Das Sed-Skript sofort ohne Verarbeitung weiterer Eingabe beenden. Dies ist eine GNU-Erweiterung
r Dateiname Aus Dateiname eingelesenen Text anhängen
R Dateiname Eine Zeile aus Dateiname einlesen und anhängen. Jeder Aufruf des Befehls liest eine Zeile der Datei. Dies ist eine GNU-Erweiterung

Befehle, die Adressbereiche akzeptieren

Option Beschreibung
{ Beginnt einen Befehlsblock (Ende mit einem })
b Marke Verzweigt zu Marke. Falls Marke fehlt, verzweigt zum Ende des Skripts
c \
Text Ersetzt die ausgewählte Zeile mit Text, der eingebettete Zeilenumbrüche mit vorangestelltem Rückschrägstrich (»backslash«) enthält
d Löscht den Musterbereich. Beginnt den nächsten Zyklus
D Falls der Musterbereich keinen Zeilenumbruch enthält, wird ein neuer Zyklus begonnen, als ob der Befehl »d« angegeben worden wäre. Andernfalls wird der Text im Musterbereich bis zu dem ersten Zeilenumbruch gelöscht und der Zyklus mit dem entstandenen Musterbereich neu gestartet, ohne eine neue Eingabezeile zu lesen.
h H Kopiert/Hängt den Musterbereich in den Haltebreich (hold space) (an)
g G Kopiert/Hängt den Haltebereich in den Musterbereich (an)
l Führt die aktuelle Zeile in einer »visuell eindeutigen« Art auf
l Breite Führt die aktuelle Zeile in einer »visuell eindeutigen« Art auf und bricht dabei nach Breite Zeichen um. Dies ist eine GNU-Erweiterung
n N Liest/Hängt die nächste Zeile der Eingabe in den Musterbereich (an)
p Gibt den aktuellen Musterbereich aus
P Gibt bis zum ersten eingebetteten Zeilenumbruch im aktuellen Musterbereich aus
s/RegAusdr/Ersatz/ Sucht die Entsprechung von RegAusdr im Musterbereich und falls erfolgreich, ersetzt den passenden Teil mit Ersatz. Ersatz kann das besondere Zeichen & enthalten, um auf den Teil des Musterbereichs zu verweisen, der passte, und die besonderen Maskiersequenzen \1 bis \9, die auf die entsprechenden passenden Teilausdrücke in RegAusdr verweisen.
t Marke Falls s/// eine erfolgreiche Ersetzung durchgeführt hat, seit die letzte Eingabezeile gelesen wurde und seit dem letzten t- oder T-Befehl, dann wird zu Marke verzweigt. Falls Marke fehlt, wird zum Ende des Skripts verzweigt.
T Marke Falls kein s/// eine erfolgreiche Ersetzung durchgeführt hat, seit die letzte Eingabezeile gelesen wurde und seit dem letzten t- oder T-Befehl, dann wird zu Marke verzweigt. Falls Marke fehlt, wird zum Ende des Skripts verzweigt.
w Dateiname Schreibt den aktuellen Musterbereich nach Dateiname
W Dateiname Schreibt die erste Zeile des aktuellen Musterbereichs in Dateiname. Dies ist eine GNU-Erweiterung
x Tauscht den Inhalt des Halte- und Musterbereichs
y/Quelle/Ziel/ Übersetzt die Zeichen im Musterbereich, die in Quelle auftauchen, in die entsprechenden Zeichen in Ziel