.\" -*- coding: UTF-8 -*-
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.5.
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH SED 1 "März 2023" "GNU sed 4.9" "Dienstprogramme für Benutzer"
.SH BEZEICHNUNG
Sed \- Stromeditor zum Filtern und Umwandeln von Text
.SH ÜBERSICHT
.nf
sed [\-V] [\-\-version] [\-\-help] [\-n] [\-\-quiet] [\-\-silent]
[\-l N] [\-\-line\-length=N] [\-u] [\-\-unbuffered]
[\-E] [\-r] [\-\-regexp\-extended]
[\-e Skript] [\-\-expression=script]
[\-f Skriptdatei] [\-\-file=Skriptdatei]
[script\-if\-no\-other\-script]
[Datei …]
.fi
.SH BESCHREIBUNG
.ds sd \fISed\fP
.ds Sd \fISed\fP
\*(Sd ist ein Stromeditor (stream editor). Ein Stromeditor wird für
grundlegende Texttransformationen auf einen Eingabestrom (einer Datei oder
aus einer Verarbeitungskette) verwandt. Obwohl in einigen Aspekten ähnlich
zu einem Editor, der Bearbeitungen nach Skript erlaubt (wie \fIEd\fP), führt
\*(sd nur einen Durchlauf über die Eingabe(n) durch und ist somit
effizienter. Allerdings ist es die Fähigkeit von \*(sd, Text in einer
Verarbeitungskette zu filtern, die ihn besonders gegenüber anderen Arten von
Editoren auszeichnet.
.HP
\fB\-n\fP, \fB\-\-quiet\fP, \fB\-\-silent\fP
.IP
unterdrückt die Ausgabe des Musterbereichs.
.HP
\fB\-\-debug\fP
.IP
Kommentiert die Programmausführung
.HP
\fB\-e\fP Skript, \fB\-\-expression\fP=\fI\,Skript\/\fP
.IP
Fügt das Skript zu den auszuführenden Befehlen hinzu
.HP
\fB\-f\fP Skriptdatei, \fB\-\-file\fP=\fI\,Skriptdatei\/\fP
.IP
Fügt den Inhalt der Skriptdatei zu den auszuführenden Befehlen hinzu
.HP
\fB\-\-follow\-symlinks\fP
.IP
Symbolischen Links bei der Bearbeitung an Ort und Stelle folgen
.HP
\fB\-i[ENDUNG]\fP, \fB\-\-in\-place\fP[=\fI\,ENDUNG\/\fP]
.IP
Dateien an Ort und Stelle bearbeiten (erstellt Sicherung, falls ENDUNG
angegeben)
.HP
\fB\-l\fP N, \fB\-\-line\-length\fP=\fI\,N\/\fP
.IP
Gibt die gewünschte Zeilenumbruchlänge für den Befehl »l« an
.HP
\fB\-\-posix\fP
.IP
Deaktiviert alle GNU\-Erweiterungen
.HP
\fB\-E\fP, \fB\-r\fP, \fB\-\-regexp\-extended\fP
.IP
Verwendet erweiterte reguläre Ausdrücke in dem Skript (für Portabilität
verwenden Sie POSIX \fB\-E\fP).
.HP
\fB\-s\fP, \fB\-\-separate\fP
.IP
Betrachtet Dateien getrennt statt als einzigen, kontinuierlichen langen
Strom
.HP
\fB\-\-sandbox\fP
.IP
Arbeitet im »Sandbox«\-Modus (deaktiviert e/r/w\-Befehle).
.HP
\fB\-u\fP, \fB\-\-unbuffered\fP
.IP
Lädt minimale Datenmenge aus den Eingabedateien und schreibt die
Ausgabepuffer öfter
.HP
\fB\-z\fP, \fB\-\-null\-data\fP
.IP
Zeilen durch Nullbyte\-Zeichen trennen
.TP
\fB\-\-help\fP
zeigt Hilfeinformationen an und beendet das Programm.
.TP
\fB\-\-version\fP
gibt Versionsinformationen aus und beendet das Programm.
.PP
Falls weder die Option \fB\-e\fP, \fB\-\-expression\fP, \fB\-f\fP noch \fB\-\-file\fP
angegeben wurden, wird das erste nicht Optionsargument als zu
interpretierendes Sed\-Skript verwendet. Alle verbleibenden Argumente sind
Namen von Eingabedateien. Falls keine Eingabedateien angegeben wurden, wird
die Standardeingabe gelesen.
.PP
GNU\-Sed\-Homepage: . Allgemeine
Hilfe beim Einsatz von GNU\-Software:
. Fehlerberichte (auf Englisch) per
E\-Mail an: .
.SH BEFEHLSÜBERSICHT
Dies ist nur eine knappe Übersicht über die Befehle von \*(sd, als
Erinnerung für alle, die \*(sd bereits kennen. Für ausführlichere
Beschreibungen müssen andere Dokumentationen (wie das Texinfo\-Dokument)
herangezogen werden.
.SS "»Befehle« ohne Adressen"
.TP
:\ \fIMarke\fP
Marke für \fBb\fP\- und \fBt\fP\-Befehle
.TP
#\fIKommentar\fP
Der Kommentar läuft bis zum nächsten Zeilenumbruch (oder dem Ende eines
\fB\-e\fP\-Skriptfragments)
.TP
}
Die schließende Klammer eines { }\-Blocks
.SS "Befehle ohne oder mit einer Adresse"
.TP
=
Gibt die aktuelle Zeilennumer aus
.TP
a \e
.TP
\fIText\fP
\fIText\fP anhängen, der eingebettete Zeilenumbrüche mit vorangestelltem
Rückschrägstrich (»backslash«) enthält
.TP
i \e
.TP
\fIText\fP
\fIText\fP einfügen, der eingebettete Zeilenumbrüche mit vorangestelltem
Rückschrägstrich (»backslash«) enthält
.TP
q [\fIRückgabewert\fP]
Das \*(sd\-Skript sofort ohne Verarbeitung weiterer Eingabe
beenden. Allerdings wird der aktuelle Musterbereich ausgegeben, falls
»auto\-print« nicht deaktiviert ist. Das Argument \fIRückgabewert\fP ist eine
GNU\-Erweiterung.
.TP
Q [\fIRückgabewert\fP]
Das \*(sd\-Skript sofort ohne Verarbeitung weiterer Eingabe beenden. Dies ist
eine GNU\-Erweiterung.
.TP
r\ \fIDateiname\fP
Aus \fIDateiname\fP eingelesenen Text anhängen
.TP
R\ \fIDateiname\fP
Eine Zeile aus \fIDateiname\fP einlesen und anhängen. Jeder Aufruf des Befehls
liest eine Zeile der Datei. Dies ist eine GNU\-Erweiterung.
.SS "Befehle, die Adressbereiche akzeptieren"
.TP
{
Beginnt einen Befehlsblock (Ende mit einem })
.TP
b\ \fIMarke\fP
Verzweigt zu \fIMarke\fP. Falls \fIMarke\fP fehlt, verzweigt zum Ende des Skripts
.TP
c \e
.TP
\fIText\fP
Ersetzt die ausgewählte Zeile mit \fIText\fP, der eingebettete Zeilenumbrüche
mit vorangestelltem Rückschrägstrich (»backslash«) enthält
.TP
d
Löscht den Musterbereich. Beginnt den nächsten Zyklus.
.TP
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.
.TP
h H
Kopiert/Hängt den Musterbereich in den Haltebreich (hold space) (an)
.TP
g G
Kopiert/Hängt den Haltebereich in den Musterbereich (an)
.TP
l
Führt die aktuelle Zeile in einer »visuell eindeutigen« Art auf
.TP
l\ \fIBreite\fP
Führt die aktuelle Zeile in einer »visuell eindeutigen« Art auf und bricht
dabei nach \fIBreite\fP Zeichen um. Dies ist eine GNU\-Erweiterung.
.TP
n N
Liest/Hängt die nächste Zeile der Eingabe in den Musterbereich (an)
.TP
p
Gibt den aktuellen Musterbereich aus.
.TP
P
Gibt bis zum ersten eingebetteten Zeilenumbruch im aktuellen Musterbereich
aus.
.TP
s/\fIRegAusdr\fP/\fIErsatz\fP/
Sucht die Entsprechung von \fIRegAusdr\fP im Musterbereich und falls
erfolgreich, ersetzt den passenden Teil mit \fIErsatz\fP. \fIErsatz\fP kann das
besondere Zeichen \fB&\fP enthalten, um auf den Teil des Musterbereichs zu
verweisen, der passte, und die besonderen Maskiersequenzen \e1 bis \e9, die
auf die entsprechenden passenden Teilausdrücke in \fIRegAusdr\fP verweisen.
.TP
t\ \fIMarke\fP
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 \fIMarke\fP verzweigt. Falls \fIMarke\fP fehlt, wird zum Ende des Skripts
verzweigt.
.TP
T\ \fIMarke\fP
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 \fIMarke\fP verzweigt. Falls \fIMarke\fP fehlt, wird zum Ende des
Skripts verzweigt.
.TP
w\ \fIDateiname\fP
Schreibt den aktuellen Musterbereich nach \fIDateiname\fP
.TP
W\ \fIDateiname\fP
Schreibt die erste Zeile des aktuellen Musterbereichs in \fIDateiname\fP. Dies
ist eine GNU\-Erweiterung.
.TP
x
Tauscht den Inhalt des Halte\- und Musterbereichs
.TP
y/\fIQuelle\fP/\fIZiel\fP/
Übersetzt die Zeichen im Musterbereich, die in \fIQuelle\fP auftauchen, in die
entsprechenden Zeichen in \fIZiel\fP
.SH Adressen
Befehle von \*(Sd können ohne Adresse angegeben werden. In diesem Fall
werden sie für alle Eingabezeilen ausgeführt. Wird eine Adresse angegeben,
werden sie nur für Zeilen ausgeführt, die auf diese Adresse passen. Werden
zwei Adressen (das Maximum) angegeben, dann wird der Befehl für alle
Eingabezeilen ausgeführt, die auf den einschließenden Bereich passen, der
bei der ersten Adresse beginnt und bis zur zweiten Adresse läuft. Es gibt
drei Dinge, die Sie bei Adressbereichen beachten sollten: Die Syntax lautet
\fIAdr1\fP,\fIAdr2\fP (d.h. die Adressen werden durch ein Komma getrennt), die
Zeile, auf die \fIAdr1\fP passt, wird immer akzeptiert, selbst falls \fIAdr2\fP
eine davor liegende Zeile auswählen sollte und falls \fIAdr2\fP ein regulärer
Ausdruck ist, wird er nicht gegen die Zeile, auf die \fIAdr1\fP passte,
geprüft.
.PP
Nach der Adresse (oder dem Adressbereich) und vor dem Befehl kann ein \fB!\fP
eingefügt werden, das angibt, dass der Befehl nur ausgeführt werden darf,
falls die Adresse (oder der Adressbereich) \fBnicht\fP passt.
.PP
Die folgenden Adresstypen werden unterstützt:
.TP
\fINummer\fP
Passt nur auf die angegebene Zeile \fINummer\fP (die über Dateien hinweg
kummulativ ansteigt, außer die Option \fB\-s\fP ist auf der Befehlszeile
angegeben worden).
.TP
\fIErster\fP~\fIAbstand\fP
Passt auf jede \fIAbstand\fPs Zeile, beginnend mit \fIErster\fP. Beispielsweise
wird »sed \-n 1~2p« alle ungeraden Zeilen in dem Eingabestrom ausgeben und
die Adresse 2~5 wird auf jede fünfte Zeile, beginnend mit der zweiten,
passen. \fIErster\fP kann Null sein, in diesem Fall verhält sich \*(sd als ob
er identisch mit \fIAbstand\fP wäre (dies ist eine Erweiterung).
.TP
$
Passt auf die letzte Zeile
.TP
/\fIRegAusdr\fP/
Passt auf Zeilen, die auf den regulären Ausdruck \fIRegAusdr\fP passen. Der
Abgleich erfolgt auf dem aktuellen Musterraum, der mit Befehlen wie »s///«
verändert werden kann.
.TP
\e\fBc\fP\fIRegAusdr\fP\fBc\fP
Passt nur auf Zeilen, die auf den regulären Ausdruck \fIRegAusdr\fP passen. Das
\fBc\fP kann jedes Zeichen sein.
.PP
GNU\-\*(sd unterstützt auch einige besondere 2\-Adressformen:
.TP
0,\fIAdr2\fP
Beginnt in dem Zustand »passe auf erste Adresse« bis \fIAdr2\fP gefunden
wird. Dies ist ähnlich zu 1,\fIAdr2\fP, abgesehen davon, dass wenn \fIAdr2\fP auf
die allererste Zeile der Eingabe passt, der Ausdruck 0,\fIAdr2\fP sich am Ende
seines Bereichs befinden wird, während der Ausdruck 1,\fIAdr2\fP sich noch am
Anfang seines Bereichs befinden wird. Dies funktioniert nur, falls \fIAdr2\fP
ein regulärer Ausdruck ist.
.TP
\fIAdr1\fP,+\fIN\fP
Passt auf \fIAdr1\fP und die \fIN\fP auf \fIAdr1\fP folgenden Zeilen
.TP
\fIAdr1\fP,~\fIN\fP
Passt auf \fIAdr1\fP und die \fIAdr1\fP folgenden Zeilen bis zu der nächsten
Zeile, deren Eingabezeilennummer ein Vielfaches von \fIN\fP ist
.SH "REGULÄRE AUSDRÜCKE"
POSIX.2\-BREs \fIsollten\fP unterstützt werden. Dies erfolgt allerdings aus
Leistungsgründen nicht vollständig. Die Sequenz \fB\en\fP in einem regulären
Ausdruck passt auf das Zeilenumbruchzeichen und ähnliches gilt für \fB\ea\fP,
\fB\et\fP und andere Sequenzen. Die Option \fI\-E\fP schaltet auf die Verwendung
von erweiterten regulären Ausdrücken um; sie wurde seit Jahren in GNU Sed
unterstützt und ist jetzt in POSIX enthalten.
.SH FEHLER
.PP
Schicken Sie Fehlerberichte (auf Englisch) an \fBbug\-sed@gnu.org\fP. Geben Sie
auch bitte die Ausgabe von »sed \-\-version« im E\-Mail\-Text an, falls
irgendwie möglich.
.SH AUTOR
Geschrieben von Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim
Meyering und Assaf Gordon.
.PP
Dieses Sed\-Programm wurde ohne Unterstützung für SELinux erstellt.
.PP
GNU\-Sed\-Homepage: . Allgemeine
Hilfe beim Einsatz von GNU\-Software:
. Fehlerberichte (auf Englisch) per
E\-Mail an: .
.SH COPYRIGHT
Copyright \(co 2022 Free Software Foundation, Inc. Lizenz GPLv3+:
.UR https://gnu.org/licenses/gpl.html
GNU GPL Version 3
.UE
oder neuer.
.br
Dies ist freie Software: Sie können sie verändern und weitergeben. Es gibt
KEINE GARANTIE, soweit gesetzlich zulässig.
.SH "SIEHE AUCH"
\fBawk\fP(1), \fBed\fP(1), \fBgrep\fP(1), \fBtr\fP(1), \fBperlre\fP(1), sed.info, eines der
verschiedenen Bücher über \*(sd,
.na
die \*(sd\-FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
.PP
Die vollständige Dokumentation für \fBsed\fP wird als Texinfo\-Handbuch
gepflegt. Wenn die Programme \fBinfo\fP(1) und \fBsed\fP auf Ihrem Rechner
ordnungsgemäß installiert sind, können Sie mit dem Befehl
.IP
\fBinfo sed\fP
.PP
auf das vollständige Handbuch zugreifen.
.PP
.SH ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Helge Kreutzmann
und
Mario Blättermann
erstellt.
.PP
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License Version 3
.UE
oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
.PP
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an die
.MT debian-l10n-german@lists.debian.org
Mailingliste der Übersetzer
.ME .