Eine Anleitung für Anfänger zur Verwendung des ed Editor unter Linux

Wussten Sie, welche Art von Editoren es gab, bevor es bildschirmbasierte Editoren wie vi und vim gab? Nun, die waren als Linieneditoren bekannt. Sie wurden zu einer Zeit verwendet, in der Computer kein Video-Display hatten, was bedeutet, dass eine interaktive Bearbeitung nicht möglich war. Ein solcher Editor ist ed, der bereits 1969 entwickelt wurde.

Der ed editor wird immer noch mit vielen Linux-Distributionen ausgeliefert. Wenn Sie aus irgendeinem Grund wissen wollen, wie man dieses Tool benutzt, sind Sie an der richtigen Stelle, wie hier, in diesem Tutorial, werden wir die Grundlagen dieses Tools anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, beachten Sie, dass alle hier genannten Beispiele und Anweisungen auf Ubuntu 16.04LTS getestet wurden.

Linux ed Befehl

Die Man Page des Tools beschreibt es einfach als „zeilenorientierten Texteditor“. Hier ist die Syntax:

ed [options] [file]

Die folgenden Q&A-Beispiele sollen einen besseren Überblick über das Tool und seine Verwendung geben.

Q1. Wie fange ich mit ed an?

Um den Editor zu starten, führen Sie den folgenden Befehl aus:

ed

So würde der Terminalraum aussehen, wenn der oben genannte Befehl ausgeführt wird:

start ed

Standardmäßig erstellt der Editor also einen leeren Puffer, den Sie schreiben können, ähnlich wie jeder andere visuelle oder kommandozeilenbasierte Editor, wenn Sie ihn ohne Dateinamen aufrufen.

Bevor du anfängst, etwas einzugeben, drücke ‚a‘. Und nachdem Sie mit dem Schreiben fertig sind, geben Sie einen Punkt (.) ein, um dies dem Editor zu signalisieren. Der folgende Screenshot soll die Situation verdeutlichen:

Option a

Wenn Sie also jemals vi oder vim verwendet haben, können Sie sich das anfängliche ‚a‘ und das endgültige ‚…‘ als Möglichkeiten vorstellen, in den Einfügemodus einzutreten und ihn zu verlassen. Um den Puffer in einer Datei zu speichern, verwenden Sie nun’w‘ gefolgt von einem Dateinamen Ihrer Wahl und dann’q‘, um den Editor zu verlassen.

Um zu überprüfen, ob die Datei erstellt wurde oder nicht, verwenden Sie den Befehl cat:

Falls Sie nun die gleiche Datei erneut bearbeiten müssen, können Sie dies tun, indem Sie den Namen der Datei als Argument an den Befehl ed übergeben und dann dem gleichen Verfahren folgen, das wir oben besprochen haben.

Q2. Wie kann man Änderungen an einer bestimmten Zeile vornehmen?

Nun, da wir die grundlegende Bearbeitung mit ed kennen, lassen Sie uns weitermachen und andere Aspekte der Bearbeitung diskutieren. Zum Beispiel, wie würden Sie Änderungen an einer bestimmten Zeile vornehmen?

Wenn Sie’p‘ eingeben, erhalten Sie die aktuelle Zeile (in der sich das Control gerade befindet):

Aber ’n‘ ist noch besser, da es Ihnen auch die Zeilennummer gibt:

Um die Kontrolle über eine andere Linie zu übernehmen, geben Sie entweder die entsprechende Zeilennummer ein oder verwenden Sie die Symbole + oder -, um sich relativ zu bewegen. Um beispielsweise die Steuerung von Zeilennummer 3 auf 1 zu verschieben, können Sie entweder direkt 1 eingeben:

oder du kannst ‚-2‘ eingeben.

Nun zur ursprünglichen Anforderung: Sobald Sie die Zeile erreicht haben, in der Sie die Änderung vornehmen möchten, können Sie ‚c‘ eingeben, um diese Zeile zu ändern, indem Sie den Text erneut eingeben. Zum Beispiel habe ich die erste Zeile geändert, indem ich ‚Hello‘ anstelle von ‚Hi‘ geschrieben habe.

Danach habe ich die Datei gespeichert und den Editor mit’w‘ bzw.’q‘ verlassen. Und kreuzweise die Änderung mit dem Befehl cat überprüft:

Bitte beachten Sie, dass Sie mit dem Befehl’a‘ eine Zeile nach der aktuellen Zeile eingeben können. Wenn Sie jedoch eine Zeile vor der aktuellen Zeile eingeben möchten, verwenden Sie den Befehl ‚i‘. Um eine Zeile zu löschen, verwenden Sie den Befehl’d‘ (vorangestellt ist die entsprechende Zeilennummer, falls die zu löschende Zeile nicht die aktuelle Zeile ist).

Q3. Wie kann ich standardmäßig Fehlermeldungen zur Anzeige bringen?

Wenn Sie etwas eingeben, das ed nicht verstehen kann, wird standardmäßig ein Fragezeichen (?) angezeigt.

Um die Antwort benutzerfreundlicher zu gestalten, können Sie den Editor bitten, den Fehler zu drucken, was Sie durch Eingabe des Befehls’h‘ tun können:

Und wenn Sie diesen Fehlerbericht zu einem Standardverhalten für den Editor machen wollen, verwenden Sie stattdessen den Befehl’H‘:

Q4. Wie kann man ed dazu bringen, eine eigene Eingabeaufforderung zu haben?

Wenn Sie möchten, dass ed eine eigene Eingabeaufforderung hat, verwenden Sie den Befehl P.

Wie Sie also sehen können, ist die Eingabeaufforderung standardmäßig *. Wenn Sie jedoch möchten, können Sie eine benutzerdefinierte Eingabeaufforderung mit der Option -p erhalten, wenn der Befehl ed ausgeführt wird. Das folgende Beispiel zeigt beispielsweise, wie Sie das Symbol % als Eingabeaufforderung verwenden können.

Q4. Wie kann man Kopier- und Verschiebevorgänge durchführen?

Um eine Zeile zu kopieren und an einer anderen Stelle einzufügen, verwenden Sie den Befehl’t‘. Sie müssen „t“ mit der Zeilennummer der zu kopierenden Zeile voranstellen und die Nummer der Zielzeile anhängen. Um beispielsweise die Zeile 2 auf Position 0 zu kopieren, verwenden Sie den folgenden Befehl:

2t0

Der Verschiebevorgang funktioniert auch ähnlich, nur dass Sie ‚m‘ anstelle von ‚t‘ verwenden müssen.

Q5. Wie kann man Suchvorgänge durchführen?

Die Suche ist sehr einfach. Um vorwärts zu suchen, geben Sie / gefolgt von dem Suchbegriff ein. Sobald Sie die Eingabetaste drücken, zeigt der Editor die erste Zeile (mit dem Schlüsselwort) an, auf die er trifft. Sie können diesen Befehl erneut ausführen, um die Suche fortzusetzen.

Fazit

Einverstanden, ed ist nicht benutzerfreundlich, aber das ist eine Einschränkung nur, wenn man es mit dem vergleicht, was alle Alternativen heute verfügbar sind. Man kann also mit Sicherheit sagen, dass dieser Editor nicht für alle geeignet ist. Wenn Sie sich jedoch in einem Setup befinden, in dem Sie einen Zeileneditor verwenden müssen, sollte dieses Tutorial einen guten Vorsprung bieten. Weitere Informationen finden Sie auf der Man Page des Tools oder im GNU-Handbuch.

Das könnte dich auch interessieren …