Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ced(1)

crypt(1)

edit(1)

ex(1)

grep(1)

sed(1)

sh(1)

stty(1)

umask(1)

vi(1)

fspec(4)

expressions(5)

regexp(5)

ed(1)                                                                 ed(1)

NAME
     ed - Zeilenorientierter Editor im Dialogbetrieb

SYNTAX
     ed [-s] [-p zeichenkette] [-x] [-C] [--] [datei]

BESCHREIBUNG
     ed ist ein interaktiver zeilenorientierter Editor. Mit Hilfe von ed-
     Skripts (siehe ARBEITEN MIT ED-SKRIPTS) können Sie bequem mehrere
     Dateien mit derselben Kommandofolge bearbeiten. ed verarbeitet die
     Ausgabe des Kommandos diff -e [siehe diff(1)].

OPTIONEN
     -s   Die Option -s unterdrückt die folgenden standardmäßigen Ausgaben:

          -  Anzahl der verarbeiteten Zeichen bei den ed-Kommandos

             e (edit - editieren)

             r (read - lesen)

             w (write - schreiben)

          -  Fragezeichen ?, das vor versehentlichem Löschen des Pufferin-
             halts warnt, bei den ed-Kommandos

             e (edit - editieren)

             q (quit - verlassen)

          -  Ausrufezeichen ! als Bereitzeichen von ed nach einem !-Kom-
             mando.

          Die Option -s entspricht der alten Option -, die weiterhin unter-
          stützt wird.

     -p zeichenkette
          Mit zeichenkette können Sie die Bereitzeichenkette definieren,
          die ed im Kommandomodus ausgibt. Für zeichenkette können Sie ein
          oder mehrere Zeichen angeben.

          -p zeichenkette nicht angegeben:

          ed gibt keine Bereitzeichenkette aus.

     -x   Verschlüsselungsoption: ed führt beim Aufruf das ed-Kommando X
          aus und fragt Sie nach einem Schlüssel. Dieser Schlüssel wird
          dann zum Textent- und Textverschlüsseln gemäß dem Algorithmus des
          Kommandos crypt verwendet. ed klärt ab, ob der einzulesende Text
          verschlüsselt ist oder nicht. Die temporäre Pufferdatei wird
          ebenfalls mit einer Transformation des eingegebenen Schlüssels
          verschlüsselt [siehe crypt(1)].



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     -C   Verschlüsselungsoption: wie -x, nur daß ed das ed-Kommando C aus-
          führt. Das Kommando C entspricht dem Kommando X mit dem Unter-
          schied: es wird angenommen, daß jeder zu lesende Text verschlüs-
          selt ist [siehe crypt(1)].

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn datei mit -
          beginnt.

     datei
          Name der Datei, die Sie bearbeiten möchten. ed kopiert die Datei
          in den internen Puffer und speichert datei als aktuellen Dateina-
          men.

          datei nicht angegeben:

          Sie beginnen in einem leeren Puffer zu arbeiten und bestimmen
          erst beim Schreiben des Pufferinhalts mit dem Kommando w datei
          (write - schreiben) in eine Datei deren Namen.

ED-PUFFER
     Beim Aufruf von ed wird ein Puffer eröffnet.

     Wenn Sie keine Datei angegeben haben, ist der Puffer leer. Sie füllen
     ihn während Ihrer Editorsitzung mit Text.

     Wenn Sie eine Datei angegeben haben, wird eine Kopie dieser Datei in
     den Puffer eingelesen. Den Text im Puffer bearbeiten Sie während Ihrer
     Editorsitzung.

     Bevor Sie den Editor wieder verlassen, müssen Sie entscheiden, ob Sie
     den neu erstellten oder geänderten Pufferinhalt sichern, d. h. in eine
     Datei schreiben möchten.

     Möchten Sie den Pufferinhalt sichern, schreiben Sie den Pufferinhalt
     mit dem Kommando w [datei] (write - schreiben) in die angegebene Datei
     (Standard: die beim Aufruf von ed angegebene) zurück und verlassen
     dann den Editor mit einem der Kommandos q (quit - verlassen), Q (Quit
     - verlassen) oder mit der Taste <CTRL-D>.

     Möchten Sie den Pufferinhalt nicht sichern, können Sie mit Q oder
     zweimal q den Editor verlassen, ohne vorher den Pufferinhalt mit w
     zurückzuschreiben. Nach der ersten Eingabe von q gibt ed als Warnung
     vor versehentlichem Löschen des Pufferinhalts ein ? aus. Gelöscht wird
     der Pufferinhalt erst, wenn Sie dann ein zweites Mal q eingeben. Statt
     des zweiten q können Sie auch Q oder <CTRL-D> eingeben.









Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

ARBEITSMODI
     Der ed bietet Ihnen zwei Arbeitsmodi: den Kommandomodus und den Einga-
     bemodus. Nach dem Aufruf mit ed [datei] <RETURN> befindet sich ed im
     Kommandomodus. Im Kommandomodus geben Sie im allgemeinen ein Kommando
     in einer Zeile an und schließen es mit der Taste <RETURN> ab.

     Den Eingabemodus schalten Sie ein mit einem der Kommandos

     a (append - anfügen)

     i (insert - einfügen)

     c (change - verändern)

     (siehe unten, KOMMANDOS).

     Im Eingabemodus werden alle folgenden Eingabezeichen, auch nicht-
     druckbare Zeichen (wie z. B. die Tastencodes der Schreibmarkentasten),
     in die Arbeitskopie im Puffer geschrieben. Im Eingabemodus erkennt ed
     keine Kommandos. Sie können für den Kommandomodus ein Bereitzeichen
     definieren (siehe Option -p und ed-Kommando P) und erkennen dann
     sofort, in welchem Modus Sie gerade arbeiten. Verlassen können Sie den
     Eingabemodus mit einem Punkt in der ersten Spalte . <RETURN> oder mit
     der Taste <DEL>. Die Taste <DEL> bewirkt generell, daß ed alle Einga-
     ben seit dem letzten <RETURN> ignoriert und ein ? als Warnung ausgibt.

KOMMANDOSTRUKTUR
     Für ed existiert zu jedem Zeitpunkt eine aktuelle Zeile. Die aktuelle
     Zeile ist in der Regel die zuletzt durch ein Kommando bearbeitete
     Zeile. Auf diese aktuelle Zeile beziehen sich die Kommandos immer
     dann, wenn Sie vor den Kommandos keine anderen Adressen angeben.

     Die meisten ed-Kommandos haben folgende Struktur:
     ______________________________________________________________________

     [bereich]ed-kommando[parameter ...] <RETURN>
     ______________________________________________________________________

     bereich
          Mit bereich wählen Sie die Zeilen im Puffer aus, auf die das ed-
          Kommando angewendet werden soll. Für bereich können Sie eine oder
          zwei Adressen angeben:

          bereich = adresse
               Die durch adresse bezeichnete Zeile gilt als ausgewählt.

          bereich = adresse1,adresse2
               adresse1,adresse2 kennzeichnen den Bereich zwischen den ange-
               gebenen Intervallgrenzen einschließlich. Die Suche nach beiden
               Adressen beginnt in der aktuellen Zeile. Verändert wird die
               aktuelle Zeile erst bei der Ausführung von Kommandos.



Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

               adresse2 muß sich auf eine Zeile im Puffer beziehen, die
               hinter der mit adresse1 bezeichneten Zeile liegt, sonst mel-
               det ed einen Fehler.

          bereich = adresse1;adresse2
               adresse1;adresse2 kennzeichnen den Bereich zwischen den
               angegebenen Intervallgrenzen einschließlich. Die Suche nach
               adresse1 beginnt in der aktuellen Zeile. Die mit adresse1
               bezeichnete Zeile wird dann zur neuen aktuellen Zeile, dann
               erst wird adresse2 ermittelt. Sie können so die Zeile fest-
               legen, bei der ein Suchvorgang in Vor- und Rückwärtsrichtung
               beginnen soll (siehe ADRESSEN).

               adresse2 muß sich auf eine Zeile im Puffer beziehen, die
               hinter der mit adresse1 bezeichneten Zeile liegt, sonst mel-
               det ed einen Fehler.

          bereich nicht angegeben:

               ed nimmt die zum jeweiligen Kommando gehörige Standard-
               Adresse an; diese ist bei jedem ed-Kommando beschrieben.

     Benötigt ed keine Adresse und haben Sie trotzdem eine angegeben, mel-
     det ed einen Fehler.

     Haben Sie mehr Adressen angegeben als das Kommando erlaubt, nimmt ed
     die letzten.

ADRESSEN
     Adressen konstruieren Sie folgendermaßen:

     Adresse   Bedeutung

     .         aktuelle Zeile

     $         letzte Zeile

     n         n-te Zeile

     'x        die mit dem Buchstaben x markierte Zeile. x muß ein Klein-
               buchstabe sein (siehe k).

     /rA/      Ein einfacher regulärer Ausdruck rA, der in /.../ einge-
               schlossen ist [siehe expressions(5)], adressiert die erste
               Zeile, die eine zu dem regulären Ausdruck passende Zeichen-
               kette enthält.

               Es wird dabei von der aktuellen Zeile aus vorwärts gesucht.
               Findet ed keine passende Zeile, setzt ed die Suche am Datei-
               anfang fort und sucht wieder bis zur aktuellen Zeile. Ent-
               hält der reguläre Ausdruck rA selbst eines der Begrenzungs-
               zeichen / oder ?, muß es mit \ entwertet werden.


Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

               Die Zeichen \n in einem regulären Ausdruck erzielen bei
               Neue-Zeile-Zeichen im durchsuchten Text keinen Treffer!

               Ein regulärer Ausdruck kann in bereich nur einmal vorkommen,
               z. B. adressiert /rA1/,/rA2/ nur die erste zu /rA2/ passende
               Zeile.

     //        Ein leerer regulärer Ausdruck // adressiert die Zeile, die
               zu dem zuletzt angegebenen regulären Ausdruck paßt.

     ?rA?      Wie /rA/, aber es wird von der aktuellen Zeile aus rückwärts
               in Richtung Dateianfang gesucht. Enthält der reguläre Aus-
               druck rA selbst eines der Begrenzungszeichen / oder ?, muß
               es mit \ entwertet werden.

     adr[+]n   n-te Zeile nach der durch adr bezeichneten Zeile.

     adr[-]n   n-te Zeile vor der durch adr bezeichneten Zeile.

     +n        n Zeilen nach der aktuellen Zeile.

     -n        n Zeilen vor der aktuellen Zeile.

     [adr]+ ...
     [adr]- ...
               Eine Zeile nach (+) bzw. vor (-) der durch adr bezeichneten
               Zeile. Jedes Vorkommen von + erhöht die Adreßangabe um 1, -
               erniedrigt die Adreßangabe um 1. Die Adreßangabe ++ adres-
               siert also die zweite Zeile nach der aktuellen Zeile.

     ,         Ein Komma , ist gleichbedeutend mit dem Adressenpaar 1,$,
               wenn ein Kommando folgt, sonst wird die letzte Zeile ausge-
               geben.

     ;         Ein Strichpunkt ; ist gleichbedeutend mit dem Adressenpaar
               .,$, wenn ein Kommando folgt, sonst wird die letzte Zeile
               ausgegeben.

KOMMANDOS
     Die folgende Liste enthält eine systematische Übersicht aller ed-
     Kommandos, die Sie im Kommandomodus eingeben können. Die daran
     anschließende ausführliche Kommandobeschreibung ist alphabetisch
     geordnet.











Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

   Übersicht der ed-Kommandos

     ______________________________________________________________________
    | Eingabemodus einschalten                                            |
    |__________|_____________|____________________________________________|
    |     a    |  append     |  anfügen                                   |
    |__________|_____________|____________________________________________|
    |     c    |  change     |  löschen und ersetzen                      |
    |__________|_____________|____________________________________________|
    |     i    |  insert     |  einfügen                                  |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Bereitzeichen im Kommandomodus ausgeben                             |
    |__________|_____________|____________________________________________|
    |     P    |  prompt     |  Bereitzeichen * ausgeben                  |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Kommandos rückgängig machen                                         |
    |__________|_____________|____________________________________________|
    |     u    |  undo       |  rückgängig machen                         |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Kommandos abbrechen                                                 |
    |__________|_____________|____________________________________________|
    |   <DEL>  |  ---        |  abbrechen                                 |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Fehler erläutern                                                    |
    |__________|_____________|____________________________________________|
    |     h    |  help       |  letzte Fehlermeldung erläutern            |
    |__________|_____________|____________________________________________|
    |     H    |  Help       |  Hilfemodus ein-/ausschalten. Bei jeder    |
    |          |             |  Fehleranzeige in Form eines Fragezeichens |
    |          |             |  ? wird bei eingeschaltetem Hilfemodus eine|
    |          |             |  Fehlermeldung ausgegeben (siehe FEHLERMEL-|
    |          |             |  DUNGEN).                                  |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Text ändern                                                         |
    |__________|_____________|____________________________________________|
    |     a    |  append     |  anfügen                                   |
    |__________|_____________|____________________________________________|
    |     c    |  change     |  löschen und ersetzen                      |
    |__________|_____________|____________________________________________|
    |     d    |  delete     |  löschen                                   |
    |__________|_____________|____________________________________________|
    |     i    |  insert     |  einfügen                                  |
    |__________|_____________|____________________________________________|






Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     ______________________________________________________________________
    | Zeilen ausgeben                                                     |
    |__________|_____________|____________________________________________|
    |     p    |  print      |  ausgeben                                  |
    |__________|_____________|____________________________________________|
    |     l    |  list       |  ausgeben mit nicht-druckbaren Zeichen in  |
    |          |             |  Ersatzdarstellung oder als Oktalzahlen    |
    |__________|_____________|____________________________________________|
    |  adresse |  ---        |  adressierte Zeile ausgeben                |
    |__________|_____________|____________________________________________|
    |     n    |  number     |  Zeilen numerieren und ausgeben            |
    |__________|_____________|____________________________________________|
    | <RETURN> |  ---        |  Zeile hinter aktueller Zeile ausgeben     |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Zeilennummern ausgeben                                              |
    |__________|_____________|____________________________________________|
    | adresse= |  ---        |  Nummer der adressierten Zeile ausgeben    |
    |__________|_____________|____________________________________________|
    |     n    |  number     |  Zeilen numerieren und ausgeben            |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Zeilenbereiche verschieben                                          |
    |__________|_____________|____________________________________________|
    |     t    |  transfer   |  kopieren von Zeilen                       |
    |__________|_____________|____________________________________________|
    |     m    |  move       |  verschieben von Zeilen                    |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Textmuster suchen und ersetzen                                      |
    |__________|_____________|____________________________________________|
    |     s    |  substitute |  suchen und ersetzen                       |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Zeilen verbinden                                                    |
    |__________|_____________|____________________________________________|
    |     j    |  join       |  aufeinanderfolgende Zeilen verbinden      |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Zeilen markieren                                                    |
    |__________|_____________|____________________________________________|
    |     k    |  mark       |  Zeilen markieren                          |
    |__________|_____________|____________________________________________|











Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     ______________________________________________________________________
    | Ausgewählte Zeilen mit Kommandos bearbeiten                         |
    |__________|_____________|____________________________________________|
    |     g    |  global     |  Kommandoliste global für alle Zeilen aus- |
    |          |             |  führen, die zu /rA/ passen                |
    |__________|_____________|____________________________________________|
    |     G    |  Global     |  interaktiv Kommandoliste global für alle  |
    |          |             |  Zeilen ausführen, die zu /rA/ passen      |
    |__________|_____________|____________________________________________|
    |     v    |  vice-versa |  wie g, aber für alle Zeilen, die nicht zu |
    |          |             |  /rA/ passen                               |
    |__________|_____________|____________________________________________|
    |     V    |  Vice-Versa |  wie G, aber für alle Zeilen, die nicht zu |
    |          |             |  /rA/ passen                               |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Aktuellen Dateinamen ändern                                         |
    |__________|_____________|____________________________________________|
    |     f    |  file-name  |  aktuellen Dateinamen ändern/ausgeben      |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Shell-Kommandos ausführen                                           |
    |__________|_____________|____________________________________________|
    |     !    |  ---        |  Shell-Kommando aufrufen                   |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Dateien in Puffer einlesen                                          |
    |__________|_____________|____________________________________________|
    |     e    |  edit       |  Pufferinhalt löschen und neu einlesen     |
    |__________|_____________|____________________________________________|
    |     E    |  Edit       |  Pufferinhalt ohne Warnung löschen und neu |
    |          |             |  einlesen                                  |
    |__________|_____________|____________________________________________|
    |     r    |  read       |  Datei in Puffer einlesen                  |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Dateiinhalt ver- und entschlüsseln                                  |
    |__________|_____________|____________________________________________|
    |     C    |  crypt      |  Schlüsseleingabe für Leseoperationen      |
    |__________|_____________|____________________________________________|
    |     X    |  crypt      |  Schlüsseleingabe für Lesen und Sichern    |
    |__________|_____________|____________________________________________|
     ______________________________________________________________________
    | Pufferinhalt sichern                                                |
    |__________|_____________|____________________________________________|
    |     w    |  write      |  Pufferinhalt in Datei schreiben           |
    |__________|_____________|____________________________________________|
    |     W    |  write      |  Pufferinhalt an Datei anfügen             |
    |__________|_____________|____________________________________________|





Seite 8                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     ______________________________________________________________________
    | Editor verlassen                                                    |
    |__________|_____________|____________________________________________|
    |     q    |  quit       |  ed verlassen                              |
    |__________|_____________|____________________________________________|
    |     Q    |  Quit       |  ed verlassen ohne Warnung                 |
    |__________|_____________|____________________________________________|
    |   <END>  |  ---        |  ed verlassen                              |
    |__________|_____________|____________________________________________|

BESCHREIBUNG DER ED-KOMMANDOS
     Die eckigen Klammern [] sind nicht einzugeben! Sie zeigen an, daß die
     dazwischen eingeschlossene Adreßangabe fakultativ ist.

     In der Regel darf in einer Zeile nur ein Kommando stehen. Jedoch kön-
     nen Sie an die Kommandos (mit Ausnahme von e, f, r und w) als Suffix
     l, n oder p anhängen, wenn die im folgenden unter den Kommandos l, n
     und p beschriebenen Funktionen ausgeführt werden sollen.

     [adresse]a
     text
     .    (a - append) liest den eingegebenen text und fügt ihn hinter der
          mit adresse adressierten Zeile an. Die aktuelle Zeile ist nun
          entweder die letzte Zeile des eingefügten Textes oder, falls Sie
          keinen Text eingegeben haben, die adressierte Zeile. Die Adresse
          0 ist bei diesem Kommando erlaubt; der Text wird dann vor die
          erste Zeile des Puffers eingefügt. Über das Terminal können Sie
          maximal 2048 Zeichen je Zeile einschließlich Neue-Zeile-Zeichen
          eingeben.

          adresse nicht angegeben: adresse = .

     [bereich]c
     text
     .    (c - change) löscht den angegebenen bereich und ersetzt ihn durch
          den eingegebenen text. Die aktuelle Zeile ist nun entweder die
          letzte Zeile des eingegebenen Textes oder, falls Sie keinen Text
          eingegeben haben, die Zeile hinter den gelöschten Zeilen.

          bereich nicht angegeben: bereich = .,.

     C    Verschlüsselungskommando:

          C entspricht dem Kommando X mit dem Unterschied: Es wird angenom-
          men, daß jeder mit den Kommandos e und r zu lesende Text ver-
          schlüsselt ist (siehe Option -C).

     [bereich]d
          (d - delete) löscht den angegebenen bereich. Die Zeile hinter der
          letzten gelöschten Zeile wird zur aktuellen Zeile. Standen die
          gelöschten Zeilen am Ende des Puffers, wird die neue letzte Zeile
          die aktuelle Zeile.


Seite 9                      Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

          bereich nicht angegeben: bereich = .,.

     e [datei]
          (e - edit) löscht den gesamten Puffer und liest eine Kopie des
          Inhalts von datei ein. Ist der Pufferinhalt seit dem letzten
          Sichern oder Überschreiben verändert und nicht mit w gesichert
          worden, löscht ed den Pufferinhalt nicht sofort, sondern warnt
          Sie mit einem ? vor versehentlichem Löschen. Geben Sie daraufhin
          ein weiteres Mal e ein, wird der Pufferinhalt ohne weitere War-
          nung überschrieben. Die Anzahl der eingelesenen Bytes wird ausge-
          geben, wenn Sie ed nicht mit der Option -s aufgerufen haben. Die
          aktuelle Zeile ist die letzte Zeile des Puffers. Der Name datei
          wird gespeichert, so daß er später bei den Kommandos e, r und w
          als aktueller Dateiname verwendet werden kann. Wenn Sie für datei
          ein Ausrufezeichen ! angeben, wird der Rest der Zeile als Shell-
          Kommando interpretiert. Das Ergebnis dieses Shell-Kommandos wird
          in den Puffer eingelesen. Ein mit ! eingeleitetes Shell-Kommando
          wird nicht als Dateiname gespeichert.

          datei nicht angegeben: datei = aktueller Dateiname

     E [datei]
          (E - edit) verhält sich wie edit, außer, daß es den Puffer ohne
          warnendes ? überschreibt, auch wenn der Inhalt des Puffers verän-
          dert und nicht gerettet wurde.

          datei nicht angegeben: datei = aktueller Dateiname

     f [datei]
          (f - file) setzt den aktuellen Dateinamen auf datei. Den aktuel-
          len Dateinamen verwenden die Kommandos e, E, r und w.

          datei nicht angegeben: ed gibt den aktuellen Dateinamen aus.

     [bereich] g/rA/kommandoliste
          (g - global) markiert im ersten Schritt alle Zeilen, die eine
          Zeichenkette enthalten, die zu rA paßt. rA ist ein einfacher
          regulärer Ausdruck [siehe expressions(5)]. Dann wird die nächste
          markierte Zeile zur aktuellen Zeile und kommandoliste darauf
          angewandt.

          Ein einzelnes Kommando oder das erste einer kommandoliste müssen
          Sie in dieselbe Zeile schreiben wie das Kommmando g. Alle Zeilen
          einer kommandoliste außer der letzten müssen Sie mit \<RETURN>,
          die letzte mit <RETURN> abschließen.

          Die Kommandos a, i und c mit der dazugehörigen Eingabe text sind
          zugelassen. Auch Zeilen in text müssen Sie mit \<RETURN>
          abschließen. Den die Eingabe normalerweise abschließenden Punkt .
          können Sie in der letzten Zeile der kommandoliste weglassen.

          Eine leere kommandoliste entspricht dem Kommando p.


Seite 10                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

          Die Kommandos g, G, v und V sind in der kommandoliste nicht zuge-
          lassen.

          Nicht mit dem Kommando ! zu kombinieren!

          bereich nicht angegeben: bereich = 1,$

     [bereich]G/rA/
          (G - global) G ist die interaktive Variante des Kommandos g.
          Zuerst wird jede Zeile markiert, die zu rA paßt. rA ist ein ein-
          facher regulärer Ausdruck [siehe expressions(5)]. Die erste der
          markierten Zeilen wird ausgegeben. Sie wird gleichzeitig zur
          aktuellen Zeile.

          Sie haben nun die Möglichkeit, ein Kommando anzugeben, das ausge-
          führt werden soll. Hierbei darf es sich nicht um a, c, i, g, G, v
          oder V handeln. Nach der Ausführung dieses Kommandos wird die
          nächste markierte Zeile ausgegeben, usw.

          Ein Neue-Zeile-Zeichen hat dieselbe Wirkung wie ein leeres Kom-
          mando. Wenn Sie das kommerzielle Und & eingeben, wird das Kom-
          mando wiederholt, das seit dem letzten Aufrufen von G als letztes
          ausgeführt wurde.

          Mit Kommandos, die unter G aufgerufen werden, können beliebige
          Zeilen im Puffer adressiert und bearbeitet werden. G können Sie
          mit der Taste <DEL> abbrechen.

          bereich nicht angegeben: bereich = 1,$

     h    (h - help) gibt eine kurze Fehlermeldung aus, die den Grund für
          das letzte Fragezeichen ? auf dem Bildschirm erklärt. Mögliche
          Fehlermeldungen siehe FEHLERMELDUNGEN.

     H    (H - help) bewirkt, daß ed in einen Modus übergeht, in dem bei
          auftretenden Fehlern anstelle von ? erläuternde Fehlermeldungen
          ausgegeben werden. Auch das zuletzt ausgegebene ? wird, falls
          vorhanden, erläutert. Diesen Modus können Sie durch ein zweites
          Aufrufen von H ausschalten.

          Standardmäßig ist der Modus H ausgeschaltet. Mögliche Fehlermel-
          dungen siehe FEHLERMELDUNGEN.

     [adresse]i
     text
     .    (i - insert) fügt text vor der mit adresse adressierten Zeile
          ein. Die aktuelle Zeile ist nun entweder die letzte Zeile des
          eingefügten Textes oder, falls Sie keinen Text eingegeben haben,
          die adressierte Zeile. Dieses Kommando unterscheidet sich vom
          Kommando append nur durch die Positionierung des eingegebenen
          Textes. Adresse 0 ist nicht zulässig. Über ein Terminal dürfen
          Sie maximal 2048 Zeichen einschließlich des Neue-Zeile-Zeichens


Seite 11                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

          je Zeile eingeben.

          adresse nicht angegeben: adresse = .

     [bereich]j
          (j - join) verbindet alle in bereich liegenden Zeilen zu einer
          einzigen Zeile und löscht dabei die entsprechenden Neue-Zeile-
          Zeichen. Wenn Sie als Adresse nur eine Zeile angeben, geschieht
          nichts. Die neue Zeile wird zur aktuellen Zeile.

          bereich nicht angegeben: bereich = .,.

     [adresse]kx
          (k - mark) markiert die mit adresse adressierte Zeile mit dem für
          x angegebenen Buchstaben, wobei x ein Kleinbuchstabe sein muß.
          Die Markierung wird aber nicht ausgegeben. Adressieren können Sie
          die markierte Zeile mit Hochkomma x ('x). Die aktuelle Zeile
          bleibt unverändert.

          adresse nicht angegeben: adresse = .

     [bereich]l
          (l - list) gibt im Gegensatz zu p den angegebenen bereich wie
          folgt aus: Einige nicht-druckbare Zeichen werden in Ersatzdar-
          stellung (z. B. Tabulatorzeichen), die übrigen nicht-druckbaren
          Zeichen werden als Oktalzahlen ausgegeben; überlange Zeilen wer-
          den mehrzeilig ausgegeben, am Ende mit dem Zeilenfortsetzungszei-
          chen \ versehen; jedes Zeilenende wird mit $ gekennzeichnet. Das
          Kommando l können Sie an jedes Kommando anhängen, mit Ausnahme
          von e, f, r und w.

          Folgende Ersatzdarstellungen werden verwendet:

          \\   Backslash (zur Unterscheidung von Oktalzahlen)

          \a   Warnung, Klingel

          \b   Backspace

          \f   Form Feed, Seitenvorschub

          \r   Carriage Return, Wagenrücklauf

          \t   Tabulator

          \v   Vertikal-Tabulator

          bereich nicht angegeben: bereich = .,.






Seite 12                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     [bereich]madresse
          (m - move) verschiebt den bereich hinter die mit adresse adres-
          sierte Zeile. Die letzte der verschobenen Zeilen wird die aktu-
          elle Zeile. Wenn Sie für adresse den Wert 0 angeben, wird bereich
          ganz an den Anfang der Datei gesetzt. Liegt adresse innerhalb von
          bereich, gibt ed eine Fehlermeldung aus.

          bereich nicht angegeben: bereich = .,.

     [bereich]n
          (n - number) gibt die mit bereich adressierten Zeilen aus, wobei
          an den Anfang jeder Zeile die Zeilennummer und ein Tabulatorzei-
          chen gesetzt werden. Die zuletzt ausgegebene Zeile wird zur neuen
          Zeile. Das Kommando n können Sie an jedes Kommando anhängen, mit
          Ausnahme von e, f, r und w.

          bereich nicht angegeben: bereich = .,.

     [bereich]p
          (p - print) gibt die mit bereich adressierten Zeilen aus. Nicht-
          druckbare Zeichen werden unverändert ausgegeben. Überlange Zeilen
          laufen ohne besondere Kennzeichnung auf der nächsten Zeile wei-
          ter, d. h. man kann sie nicht als solche erkennen. Die zuletzt
          ausgegebene Zeile wird zur aktuellen Zeile. Das Kommando p können
          Sie an jedes Kommando anhängen, mit Ausnahme von e, f, r und w.
          Mit dp wird also die aktuelle Zeile gelöscht und die neue aktu-
          elle Zeile ausgegeben.

          bereich nicht angegeben: bereich = .,.

     P    (P - prompt) bewirkt, daß ed im Kommandomodus als Bereitzeichen
          den Stern * oder die Bereitzeichenkette (siehe Option -p) aus-
          gibt. Diesen Modus können Sie durch einen zweiten Aufruf von P
          wieder ausschalten. Standardmäßig ist dieser Modus ausgeschaltet.

     q    (q - quit) beendet den ed. Ist der Pufferinhalt seit dem letzten
          Sichern oder Überschreiben verändert und nicht mit w gesichert
          worden, gibt ed als Warnung vor versehentlichem Löschen ein ? aus
          und wartet auf weitere Eingabe. Wenn Sie dann <CTRL-D>, Q oder
          zum zweitenmal q eingeben, beenden Sie den ed ohne weitere War-
          nung und ohne den Pufferinhalt gesichert zu haben.

          Vorsicht:
               Wenn Sie nach dem ersten q noch Aktionen durchführen, die
               den Pufferinhalt nicht verändern, beenden Sie mit dem zwei-
               ten q auch den ed ohne weitere Warnung und ohne Sicherung
               des Pufferinhalts.

     Q    (Q - quit) beendet den ed sofort ohne Warnung, auch wenn Sie den
          Pufferinhalt seit dem letzten Sichern oder Überschreiben verän-
          dert und nicht mit w gesichert haben.



Seite 13                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     [adresse]r [datei]
          (r - read) liest datei und fügt ihren Inhalt hinter der mit
          adresse adressierten Zeile ein.

          Die Adresse 0 ist für dieses Kommando erlaubt. Sie bewirkt, daß
          datei an den Anfang des Puffers geschrieben wird. Nach erfolgrei-
          chem Lesen wird die Anzahl der gelesenen Bytes ausgegeben, wenn
          Sie ed nicht mit der Option -s aufgerufen haben. Die aktuelle
          Zeile ist die letzte eingelesene Zeile. Der aktuelle Dateiname
          wird nicht auf datei gesetzt, es sei denn, Sie haben ed ohne
          Dateinamen aufgerufen und datei ist der erste seit dem Aufruf
          angesprochene Dateiname. Wenn Sie für datei ein Ausrufezeichen !
          angeben, dann wird der Rest der Zeile als Shell-Kommando inter-
          pretiert, ausgeführt und die Ausgabe davon eingelesen. Ein sol-
          ches Kommando wird nicht als aktueller Dateiname gespeichert.

          adresse nicht angegeben: adresse = $

          datei nicht angegeben: datei = aktueller Dateiname

     [bereich]s/rA/Ersetzungszeichenkette/[g|n]
          (s - substitute) durchsucht jede Zeile in bereich nach Zeichen-
          ketten, die zu rA passen. rA ist ein einfacher internationali-
          sierter regulärer Ausdruck [siehe expressions(5)]. In jeder so
          gefundenen Zeile wird eine zu rA passende Zeichenkette durch
          Ersetzungszeichenkette ersetzt: ohne g und n wird das erste, mit
          g jedes und mit n das n-te Auftreten einer passenden Zeichenkette
          in der Zeile ersetzt. n ist eine positive ganze Zahl von 1 bis
          512. Falls keine passende Zeichenkette gefunden wurde, meldet ed
          ein ? als Fehler. Als Trennzeichen zwischen dem Kommando s, dem
          regulären Ausdruck rA und Ersetzungszeichenkette können Sie nicht
          nur den Schrägstrich / verwenden, sondern auch jedes andere
          beliebige Zeichen außer: Leerzeichen und Neue-Zeile-Zeichen. Das
          Zeichen wird dadurch als Trennzeichen definiert, daß es unmittel-
          bar auf s folgt. Zur aktuellen Zeile wird die Zeile, auf der die
          letzte Ersetzung stattgefunden hat.

          Sonderzeichen in der Ersetzungszeichenkette

          Sonderzeichen      Bedeutung

          &                  Wird durch die Zeichenkette ersetzt, die in
                             der aktuellen Zeile zu dem regulären Ausdruck
                             rA paßt.

          \m                 Wird durch die Zeichenkette ersetzt, die zum
                             m-ten in \(...\) eingeschlossenen regulären
                             Unterausdruck von rA paßt, wobei m eine ein-
                             stellige Dezimalzahl ist. Bei durch Klammern
                             ineinander geschachtelten Unterausdrücken wird
                             m durch Zählen des Auftretens von \( von links
                             nach rechts bestimmt.


Seite 14                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

          %                  Wird durch die Zeichenkette ersetzt, mit der
                             beim zuletzt abgelaufenen s-Kommando ersetzt
                             wurde, wenn Ersetzungszeichenkette nur aus dem
                             Prozent-Zeichen % besteht.

          Die Sonderbedeutung dieser Zeichen können Sie aufheben, indem Sie
          Ihnen jeweils einen Gegenschrägstrich \ voranstellen.

          Zeile trennen in Ersetzungszeichenkette

          Wenn Sie in Ersetzungszeichenkette ein Neue-Zeile-Zeichen haben
          möchten, müssen Sie es mit \ davor entwerten. Sie geben also
          \<RETURN> ein. Ein solches Ersetzungskommando darf nicht Teil von
          kommandoliste der Kommandos g und v sein.

          bereich nicht angegeben: bereich = .,.

     [bereich]tadresse
          kopiert bereich hinter die angegebene Zeile adresse. Als Adresse
          ist 0 zugelassen. Zur aktuellen Zeile wird die letzte der kopier-
          ten Zeilen.

          bereich nicht angegeben: bereich = .,.

     u    (u - undo) macht das letzte Kommando rückgängig, mit dem der
          Inhalt des Puffers geändert wurde. Rückgängig machen können Sie
          die Kommandos a, c, d, g, i, j, m, r, s, t, v, G und V.

     [bereich]v/rA/kommandoliste
          (v - vice-versa) bearbeitet alle Zeilen mit kommandoliste, die
          keine Zeichenkette enthalten, die zu rA paßt. rA ist ein einfa-
          cher regulärer Ausdruck [siehe expressions(5)]. Bis auf diese
          Zeilenauswahl funktioniert v wie das Kommando g.

          Nicht mit dem Kommando ! zu kombinieren!

          bereich nicht angegeben: bereich = 1,$

     [bereich]V/rA/
          (V - vice-versa) ist die interaktive Variante des Kommandos v.
          Sie können mit V alle Zeilen bearbeiten, die keine Zeichenkette
          enthalten, die zu rA paßt. rA ist ein einfacher internationali-
          sierter regulärer Ausdruck [siehe expressions(5)]. Bis auf diese
          Zeilenauswahl funktioniert V wie das Kommando G.

          bereich nicht angegeben: bereich = 1,$

     [bereich]w [datei]
          (w - write) schreibt bereich in die datei. Der aktuelle Dateiname
          ändert sich nicht, falls er bereits gesetzt ist. Ist er nicht
          gesetzt, wird datei zum neuen aktuellen Dateinamen. Der alte
          Inhalt von datei wird dabei überschrieben. Existiert datei noch


Seite 15                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

          nicht, so wird sie angelegt. Die aktuelle Zeile bleibt unverän-
          dert. Nach erfolgreichem Schreiben wird die Anzahl der geschrie-
          benen Bytes ausgegeben, vorausgesetzt, Sie haben den ed nicht mit
          der Option -s aufgerufen.

          Wenn Sie für datei statt eines Dateinamens das Ausrufezeichen !
          angeben, wird der Rest der Zeile als Shell-Kommando interpretiert
          und ausgeführt. bereich ist dann die Standardeingabe für das
          Shell-Kommando. Ein solches Kommando wird nicht als aktueller
          Dateiname gespeichert.

          bereich nicht angegeben: bereich = 1,$

          datei = aktueller Dateiname

     [bereich]W [datei]
          (W - write) fügt bereich an die Datei datei an, sonst verhält es
          sich wie das Kommando w, das datei aber überschreibt. Existiert
          datei noch nicht, wird sie angelegt.

     X    Verschlüsselungsoption: ed fragt Sie nach einem Schlüssel, der
          bei folgenden e-, r- und w-Kommandos zum Ent- und Verschlüsseln
          von Text durch den Algorithmus des Kommandos crypt verwendet
          wird. Ein leerer Schlüssel schaltet diesen Mechanismus wieder ab.
          ed klärt ab, ob der einzulesende Text (e und r) verschlüsselt ist
          oder nicht. Die temporäre Pufferdatei wird ebenfalls mit einer
          Transformation des eingegebenen Schlüssels verschlüsselt (siehe
          Option -x).

     adresse
          Die mit adresse adressierte Zeile wird ausgegeben.

     [adresse]=
          Die Nummer von adresse wird ausgegeben. Die aktuelle Zeile wird
          dadurch nicht verändert.

          adresse nicht angegeben: adresse = $

     !kommando
          Der Rest der Zeile hinter dem ! wird als Shell-Kommando interpre-
          tiert und ausgeführt. Ist in kommando ein nicht entwertetes
          Prozent-Zeichen % enthalten, wird es durch den gespeicherten
          Dateinamen ersetzt. !! wiederholt das letzte kommando. In beiden
          Fällen wird die expandierte Kommandozeile ausgegeben. Nach Been-
          digung des kommandos ist ed wieder aktiv. Die aktuelle Zeile wird
          nicht verändert. Nicht zu kombinieren mit den Kommandos g und v!

     <RETURN>
          Geben Sie im Kommandomodus die Taste <RETURN> alleine ein, wird
          die Zeile hinter der aktuellen Zeile ausgegeben. Dies ist mit der
          Eingabe .+1p gleichbedeutend. Sie können so im Puffer von einer
          Zeile zur nächsten springen.


Seite 16                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

          Die Taste <RETURN> müssen Sie drücken, um im Kommandomodus die
          Eingabe eines Kommandos oder um im Eingabemodus die Eingabe einer
          Textzeile abzuschließen.

     <DEL>
          Mit der Taste <DEL> können Sie laufende ed-Kommados unterbrechen
          oder die Eingabe einer Zeile abbrechen. ed meldet sich anschlie-
          ßend mit einem ? zurück.

     <CTRL-D>
          Die Wirkung der Tasten <CTRL-D> ist dieselbe wie beim Kommando q.

          Steht das Zeichen, das einen regulären Ausdruck oder eine Erset-
          zungszeichenkette abschließt (z. B. ein /), unmittelbar vor einem
          Neue-Zeile-Zeichen, dann können Sie dieses Zeichen weglassen. Die
          adressierte Zeile wird dann ausgegeben. Die folgenden Beispiel-
          paare haben die gleiche Funktion:

          s/s1/s2      s/s1/s2/p
          g/s1         g/s1/p
          ?s1          ?s1?

ARBEITEN MIT ED-SCRIPTS
     ed liest Kommandos und einzufügenden Text von der Standardeingabe.
     Deshalb können Sie die Eingabe auch umlenken, so daß ed aus einer
     Datei liest. Mit

     $ ed -s datei < edscriptdatei > ausgabe

     wird die Datei datei editiert und mit den ed-Kommandos bearbeitet, die
     in der Datei edscriptdatei stehen. Option -s unterdrückt die stan-
     dardmäßige Ausgabe der Meldungstexte auf den Bildschrim.

     Das Arbeiten mit ed-scripts hat den Vorteil, daß Sie bestimmte Komman-
     dofolgen jederzeit reproduzieren und beliebig oft verwenden können.
     Außerdem können Sie so diesen Vorgang auch als Hintergrundprozeß
     ablaufen lassen und selbst ungestört am Bildschirm weiterarbeiten:

     $ ed datei < edscriptdatei&

     Arbeiten Sie mit einem fehlerhaften ed-Skript, dann beendet sich ed
     beim ersten Fehler.

ENDESTATUS
     0    bei Erfolg

     >0   bei fehlerhaftem Aufruf des ed oder bei Abbruch einer Prozedur
          aufgrund fehlerhafter ed-Kommandos.






Seite 17                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

FEHLERMELDUNGEN
     Wenn Ihnen bei ed-Kommandos Fehler unterlaufen:

     ?

     Syntaxfehler im Kommando

     ?datei

     Datei datei ist nicht vorhanden oder kann nicht gelesen werden.

     Nähere Informationen bekommen Sie mit den Kommandos h und H. Die häu-
     figsten Fehlermeldungen sind:

     Line out of range

     Zeile außerhalb des gültigen Zeilenbereichs

     Warning: expecting 'w'

     Warnung: w wird erwartet

     No space after command

     kein Leerzeichen hinter dem Kommando

     Unknown command

     unbekanntes Kommando

     Bad range

     ungültige Bereichsangabe

     Cannot open input file

     Eingabedatei kann nicht geöffnet werden

     Illegal or missing delimiter

     unzulässiges oder fehlendes Trennzeichen

     Illegal suffix

     unzulässiges Suffix

     Illegal or missing filename

     unzulässiger oder fehlender Dateiname





Seite 18                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     No match

     keine passende Zeichenkette gefunden

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte.

     In geklammerten regulären Ausdrücken bestimmt die Umgebungsvariable
     LCCOLLATE die Bedeutung von Zeichenbereichen, Äquivalenzklassen und
     Zeicheneinheiten, die Umgebungsvariable LCCTYPE die Bedeutung von
     Zeichenklassen. LCCTYPE bestimmt zudem, welche Zeichen bei der Ver-
     wendung des ed-Kommandos l als nicht druckbar gelten.

     Wenn LCMESSAGES, LCCOLLATE oder LCCTYPE nicht oder als leere Zei-
     chenkette definiert ist, wird der Wert von LANG als Standardwert für
     die jeweils nicht gesetzte oder leere Variable herangezogen. Ist auch
     LANG nicht oder als leere Zeichenkette definiert, verhält sich das
     System so, als wäre es nicht internationalisiert.

     Hat eine der Variablen für die internationale Umgebung einen ungülti-
     gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

BEISPIELE
     Beispiel 1

     Beispiel für ein ed-Script:

     In einer Datei sollen die ersten drei Zeilen durch eine Zeile mit dem
     Text "Adressen" und überall soll das Wort "Stachus" durch "Karlsplatz"
     ersetzt werden.

     Inhalt der Datei edscript:

     1,3c
     Adressen
     .
     1,$s/Stachus/Karlsplatz/g
     w
     q

     Bearbeitung einer Datei mit den Kommandos aus edscript:

     $ ed datei < edscript

     Wenn ed seine Kommandos nicht von der Tastatur, sondern aus einer
     Datei liest, wird der Editor nach dem ersten für ed unverständlichen
     Kommando verlassen.


Seite 19                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     Beispiel 2

     Beispiel für ein Here-Dokument [siehe sh(1)]:

     In beliebigen Dateien, die beim Aufruf der Prozedur xy als Argumente
     übergeben werden, sollen die ersten drei Zeilen durch eine Zeile mit
     dem Text "Adressen" und überall soll das Wort "Stachus" durch "Karls-
     platz" ersetzt werden.

     Inhalt der Prozedurdatei xy:

     for i in $*
     do
     ed $i << scrend
     1,3c
     Adressen
     .
     1,\$s/Stachus/Karlsplatz/g
     w
     scrend
     done

     Bearbeitung der Dateien text1, text2 und text3 mit der Prozedur xy:

     $ sh xy text1 text2 text3

     Die Zeichenkette << scrend hinter dem ed-Aufruf bewirkt, daß die Shell
     den Text bis zur Zeichenkette scrend an ed als Eingabe übergibt. Die
     zweite Zeichenkette scrend muß ohne führende Leerzeichen als einziges
     Wort in einer Zeile stehen. Bei der Adreßangabe 1,$ muß die Sonderbe-
     deutung von $ mit \ aufgehoben werden, da die Shell sonst das nachfol-
     gende s als Name einer Shell-Variablen interpretieren würde.

     Beispiel 3

     Im folgenden Beispiel werden einige ed-Kommandos vorgeführt und erläu-
     tert:

     $ ed        - Aufruf
     P           - Bereitzeichen * im Kommandomodus ausgeben
     *a          - Anfügen an aktuelle Zeile, hier Dateianfang
     zeile1      - Eingabetext
     zeile2
     zeile3
     .           - Eingabemodus beenden
     *1,$p       - Zeile 1 bis letzte Zeile ausgeben
     zeile1
     zeile2
     zeile3
     *p          - Aktuelle (= zuletzt bearbeitete) Zeile ausgeben
     zeile3
     *n          - Aktuelle Zeile mit Zeilennummer ausgeben


Seite 20                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     3   zeile3
     *1,$n       - Zeile 1 bis letzte Zeile mit Zeilennummern ausgeben
     1   zeile1
     2   zeile2
     3   zeile3
     *2c         - Zeile 2 ersetzen durch nachfolgende Eingabe mit
                   Tabulatorzeichen
     zeile2 <TAB> zeile2 <TAB> zeile2
     noch eine zeile2
     .           - Eingabemodus beenden
     *p          - Aktuelle Zeile ausgeben
     noch eine zeile2
     *1,$n       - Zeile 1 bis letzte Zeile mit Zeilennummern ausgeben
     1   zeile1
     2   zeile2  zeile2  zeile2
     3   noch eine zeile2
     4   zeile3
     *4s/3/4     - In Zeile 4 Zeichen 3 suchen und ersetzen durch 4
     zeile4
     *n          - Aktuelle Zeile mit Zeilennummer ausgeben
     4   zeile4
     *1,$s/z/Z/g - Von Zeile 1 bis letzte Zeile alle Zeichen z
                   suchen und durch Z ersetzen
     *1,$p       - Zeile 1 bis letzte Zeile ausgeben
     Zeile1
     Zeile2  Zeile2  Zeile2
     noch eine Zeile2
     Zeile4
     *2l         - Zeile 2 mit nicht druckbaren Zeichen als Mnemoniks ausgeben
     Zeile2\tZeile2\tZeile2$
     *
     *2r datei   - Hinter Zeile 2 Inhalt von datei in Puffer einlesen
     57            und Anzahl der eingelesenen Zeichen ausgeben.
                   datei muß hierfür existieren!
     *1,$n       - Zeile 1 bis letzte Zeile mit Zeilennummern ausgeben
     1   Zeile1
     2   Zeile2  Zeile2  Zeile2
                 - Diese und die zwei folgenden Zeilen kommen aus datei
     3   zeile1 aus datei
     4   zeile2 aus datei
     5   letzte zeile aus datei
     6   noch eine Zeile2
     7   Zeile4
     *6,7c       - Zeile 6 bis 7 ersetzen durch nachfolgende Eingabe
     allerletzte Zeile
     .           - Eingabemodus beenden
     *1,$n       - Zeile 1 bis letzte Zeile mit Zeilennummern ausgeben
     1   Zeile1
     2   Zeile2  Zeile2  Zeile2
     3   zeile1 aus datei
     4   zeile2 aus datei
     5   letzte Zeile aus datei


Seite 21                     Reliant UNIX 5.44               Gedruckt 11/98

ed(1)                                                                 ed(1)

     6   allerletzte Zeile
     *q          - Versuch, Editor mit q zu verlassen
     ?           - Warnung
     *h          - Fragezeichen erklären
     warning: expecting 'w'
                         - Erklärung: erwartetes Kommando w zum Sichern
                           des Pufferinhalts wurde nicht eingegeben
     *w bsp      - Sichern des Pufferinhalts in der Datei bsp
     103         - Ausgabe der Anzahl der gesicherten Zeichen
     *q          - Editor verlassen
     $           - Bereitzeichen der Shell

DATEIEN
     ed.hup
          In dieser Datei werden die Daten gesichert, wenn ed das Signal
          SIGHUP empfängt [siehe kill(2)].

     /var/tmp
          Wenn dieses Verzeichnis existiert, dann wird es als Verzeichnis
          für die Speicherung der Temporärdatei verwendet.

     $TMPDIR
          Wenn diese Variable gesetzt und nicht leer ist, dann wird ihr
          Wert anstelle von /var/tmp als Verzeichnis für die Speicherung
          der Temporärdatei verwendet.

     /tmp Wenn die Variable TMPDIR nicht auf ein existierendes Verzeichnis
          gesetzt ist und das Verzeichnis /var/tmp nicht existiert, dann
          wird /tmp zur Speicherung der Temporärdatei verwendet.

SIEHE AUCH
     ced(1), crypt(1), edit(1), ex(1), grep(1), sed(1), sh(1), stty(1),
     umask(1), vi(1), fspec(4), expressions(5), regexp(5).





















Seite 22                     Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026