bionic (1) sed.1.gz

Provided by: manpages-de_2.5-1_all bug

BEZEICHNUNG

       Sed - Stromeditor zum Filtern und Umwandeln von Text

ÜBERSICHT

       sed [OPTION]… {nur-Skript-falls-kein-anderes-Skript}[Eingabedatei]…

BESCHREIBUNG

       Sed  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 Ed), führt Sed nur einen Durchlauf
       über die Eingabe(n) durch und ist somit effizienter. Allerdings ist es die Fähigkeit  von  Sed,  Text  in
       einer Verarbeitungskette zu filtern, die ihn besonders gegenüber anderen Arten von Editoren auszeichnet.

       -n, --quiet, --silent

              Unterdrückt die automatische Ausgabe des Musterbereichs (pattern space)

       -e Skript, --expression=Skript

              Fügt das Skript zu den auszuführenden Befehlen hinzu

       -f Skriptdatei, --file=Skriptdatei

              Fügt den Inhalt der Skriptdatei zu den auszuführenden Befehlen hinzu

       --follow-symlinks

              Symbolischen Links bei der Bearbeitung an Ort und Stelle folgen

       -i[ENDUNG], --in-place[=ENDUNG]

              Dateien an Ort und Stelle bearbeiten (erstellt Sicherung, falls ENDUNG angegeben)

       -l N, --line-length=N

              Gibt die gewünschte Zeilenumbruchlänge für den Befehl »l« an

       --posix

              Deaktiviert alle GNU-Erweiterungen

       -E, -r, --regexp-extended

              Verwendet erweiterte reguläre Ausdrücke in dem Skript (für Portabilität verwenden Sie POSIX -E).

       -s, --separate

              Betrachtet Dateien getrennt statt als einzigen, kontinuierlichen langen Strom

       --sandbox

              Arbeitet im »Sandbox«-Modus.

       -u, --unbuffered

              Lädt minimale Datenmenge aus den Eingabedateien und schreibt die Ausgabepuffer öfter

       -z, --null-data

              Zeilen durch NUL-Zeichen trennen

       --help
              Diese Hilfe anzeigen und beenden

       --version
              Versionsinformation anzeigen und beenden

       Falls  weder  die  Option  -e,  --expression,  -f  noch  --file  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.

       GNU-Sed-Homepage:  <http://www.gnu.org/software/sed/>.  Allgemeine  Hilfe  beim Einsatz von GNU-Software:
       <http://www.gnu.org/gethelp/>. Fehlerberichte (auf Englisch) per E-Mail an: <bug-sed@gnu.org>.

BEFEHLSÜBERSICHT

       Dies ist nur eine knappe Übersicht über die Befehle von Sed, als Erinnerung für  alle,  die  Sed  bereits
       kennen.  Für  ausführlichere  Beschreibungen  müssen  andere  Dokumentationen  (wie das Texinfo-Dokument)
       herangezogen werden.

   »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
       =      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
       {      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

Adressen

       Befehle von Sed 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 Adr1,Adr2 (d.h. die Adressen werden durch ein Komma getrennt), die Zeile, auf die Adr1 passt, wird
       immer akzeptiert, selbst falls Adr2 eine davor  liegende  Zeile  auswählen  sollte  und  falls  Adr2  ein
       regulärer Ausdruck ist, wird er nicht gegen die Zeile, auf die Adr1 passte, geprüft.

       Nach  der  Adresse  (oder  dem Adressbereich) und vor dem Befehl kann ein ! eingefügt werden, das angibt,
       dass der Befehl nur ausgeführt werden darf, falls die Adresse (oder der Adressbereich) nicht passt.

       Die folgenden Adresstypen werden unterstützt:

       Nummer Passt nur auf die angegebene Zeile Nummer (die über Dateien hinweg kummulativ ansteigt, außer  die
              Option -s ist auf der Befehlszeile angegeben worden).

       Erster~Abstand
              Passt  auf  jede  Abstands  Zeile,  beginnend  mit  Erster. 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. Erster kann Null sein, in diesem Fall verhält sich Sed als ob
              er identisch mit Abstand wäre (dies ist eine Erweiterung).

       $      Passt auf die letzte Zeile

       /RegAusdr/
              Passt nur auf Zeilen, die auf den regulären Ausdruck RegAusdr passen

       \cRegAusdrc
              Passt nur auf Zeilen, die auf den regulären Ausdruck RegAusdr passen. Das  c  kann  jedes  Zeichen
              sein.

       GNU-Sed unterstützt auch einige besondere 2-Adressformen:

       0,Adr2 Beginnt  in  dem  Zustand  »passe  auf  erste Adresse« bis Adr2 gefunden wird. Dies ist ähnlich zu
              1,Adr2, abgesehen davon, dass wenn Adr2 auf die allererste Zeile der Eingabe passt,  der  Ausdruck
              0,Adr2 sich am Ende seines Bereichs befinden wird, während der Ausdruck 1,Adr2 sich noch am Anfang
              seines Bereichs befinden wird. Dies funktioniert nur, falls Adr2 ein regulärer Ausdruck ist.

       Adr1,+N
              Passt auf Adr1 und die N auf Adr1 folgenden Zeilen

       Adr1,~N
              Passt auf Adr1 und die Adr1 folgenden Zeilen bis zu der nächsten Zeile, deren  Eingabezeilennummer
              ein Vielfaches von N ist

REGULÄRE AUSDRÜCKE

       POSIX.2-BREs  sollten unterstützt werden. Dies erfolgt allerdings aus Leistungsgründen nicht vollständig.
       Die Sequenz \n in einem regulären Ausdruck passt auf das Zeilenumbruchzeichen und ähnliches gilt für  \a,
       \t  und  andere Sequenzen. Die Option -E schaltet auf die Verwendung von erweiterten regulären Ausdrücken
       um; die Option -E wurde seit Jahren in GNU Sed unterstützt und ist jetzt in POSIX enthalten.

FEHLER

       Schicken Sie Fehlerberichte (auf Englisch) an bug-sed@gnu.org. Geben Sie auch bitte die Ausgabe von  »sed
       --version« im E-Mail-Text an, falls irgendwie möglich.

AUTOR

       Geschrieben   von   Jay   Fenlason,   Tom   Lord,   Ken  Pizzini  und  Paolo  Bonzini.  GNU-Sed-Homepage:
       <http://www.gnu.org/software/sed/>.    Allgemeine    Hilfe     beim     Einsatz     von     GNU-Software:
       <http://www.gnu.org/gethelp/>. Fehlerberichte (auf Englisch) per E-Mail an: <bug-sed@gnu.org>.

       Copyright  ©  2017  Free  Software  Foundation,  Inc.  Lizenz  GPLv3+:  GNU  GPL  Version  3  oder  neuer
       <http://gnu.org/licenses/gpl.html>.
       Dies ist freie Software: Sie können sie  verändern  und  weitergeben.  Es  gibt  KEINE  GARANTIE,  soweit
       gesetzlich zulässig.

SIEHE AUCH

       awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, eines der verschiedenen Bücher über Sed, die Sed-FAQ
       (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.

       Die vollständige Dokumentation für sed wird als Texinfo-Handbuch gepflegt. Wenn die Programme info und
       sed auf Ihrem Rechner ordnungsgemäß installiert sind, können Sie mit dem Befehl

              info sed

       auf das vollständige Handbuch zugreifen.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an
       <debian-l10n-german@lists.debian.org>.