Das GNU ed
Befehl ist ein Zeileneditor. Er gilt als der Standard-Texteditor für Unix, weil er der allererste Texteditor für Unix war und daher auf jedem POSIX-System verfügbar war (und im Allgemeinen immer noch ist). In gewisser Weise ist es leicht zu sagen, dass es das erste war, weil es in vielerlei Hinsicht äußerst rudimentär ist. Im Gegensatz zu den meisten anderen Texteditoren öffnet es sich nicht in einem eigenen Fenster oder Bildschirm und fordert den Benutzer standardmäßig nicht einmal zur Eingabe auf. Andererseits kann das nahezu fehlende Interface auch eine Stärke sein. Es ist ein funktionaler Editor, der mit kurzen Anweisungen entweder interaktiv oder über ein Skript gesteuert werden kann.
Ed installieren
Wenn Sie Linux oder BSD verwenden, haben Sie dies wahrscheinlich bereits getan ed
installiert (GNU ed
auf Linux und BSD ed
auf BSD). Einige minimale Umgebungen werden jedoch weggelassen ed
, aber es ist wahrscheinlich im Software-Repository oder im Ports-Baum Ihrer Distribution verfügbar. MacOS wird mit BSD ausgeliefert ed
Eingerichtet.
Starten ed
Beim Starten ed
, es scheint, dass Sie Ihre Eingabeaufforderung verloren haben, und möglicherweise auch das ed
ist ins Stocken geraten. Es hat nicht; Es wartet nur auf Ihre Anweisungen:
$ ed
Erzählen ed
Um etwas ausführlicher zu sein, können Sie ihm befehlen, eine Eingabeaufforderung mit dem zurückzugeben p
Befehl:
$ ed
p
?
Das Fragezeichen (?
) ist die Standardeinstellung ed
prompt.
Der Puffer
Während ed
aktiv ist, arbeitest du mit einem sogenannten a Puffer. Der Puffer ist ein Ort im Gedächtnis. Sie bearbeiten eine Datei nicht direkt; Sie bearbeiten nur den Puffer. Solltest du aussteigen ed
ohne Ihre Änderungen in eine Datei auf der Festplatte zu schreiben, gehen alle Änderungen verloren, da sie nur im Puffer geschehen sind. (Dies mag erfahrenen Emacs-Benutzern bekannt vorkommen, die an einen anfänglichen Scratch-Puffer gewöhnt sind.)
Text schreiben mit Hrsg
Nach dem Start ed
, Sie befinden sich im Befehlsmodus. Das bedeutet, dass Sie dem Editor selbst Befehle erteilen können, z. B. wenn Sie ihn so einstellen, dass eine Eingabeaufforderung anstelle von Leerzeichen angezeigt wird. Mit können Sie Text an den aktuellen Puffer anhängen a
Befehl, der durch einen einsamen Punkt (.
) auf einer eigenen Linie. In diesem Beispiel werden dem Puffer beispielsweise zwei Zeilen (“hello world” und “hello ed”) hinzugefügt:
?
a
hello world
hello ed
.
Nach einem abschließenden Punkt kehren Sie in den Befehlsmodus zurück.
Anzeigen des Puffers
Um zu sehen, was im Puffer enthalten ist, können Sie entweder die gewünschte Zeile oder eingeben ,p
um alle Zeilen anzuzeigen.
?
1
hello world
2
hello ed
,p
hello world
hello ed
Schreiben in eine Datei
Vorausgesetzt, Sie sind mit Ihrem Text zufrieden, können Sie den Puffer mit dem in eine Datei schreiben w
Befehl gefolgt vom Namen der Zieldatei.
?
w example.txt
19
Die Zahl nach dem Schreibvorgang gibt die Anzahl der in die Datei geschriebenen Zeichen an.
Lesen einer Datei
Sie müssen nicht verwenden ed
zur Texteingabe. Sie können auch einfach eine vorhandene Datei im Puffer öffnen, indem Sie die verwenden r
Befehl:
?
r myfile.txt
Alternativ können Sie auch einfach starten ed
gefolgt vom Dateinamen, den Sie in den Puffer laden möchten:
$ ed myfile.txt
Bearbeiten des Puffers
Der ed
Die Anwendung ist ein Texteditor, sodass Sie den Text im Puffer mithilfe einer speziellen Bearbeitungssyntax beeinflussen können. Benutzer von sed
oder vim
kann einige seiner Syntax bekannt vorkommen. Angenommen, Sie haben eine Datei in den Puffer geladen:
$ ed myfile.txt
,p
This is an example document.
There is some text, but not much.
There is some errors, but not much.
Um das Wort „Dokument“ im ersten Satz in „Datei“ zu ändern, wählen Sie die gewünschte Zeile aus (1) und rufen dann mit die Suchfunktion auf s
gefolgt von Ihren Such- und Ersetzungsbegriffen:
?
1
This is an example document.
s/document/file/
1
This is an example file.
Um auf eine andere Linie zu zielen, ist der Prozess im Wesentlichen derselbe, aber mit einer anderen Nummer:
?
3
There is some errors, but not much.
s/is/are/
s/much/many/
Sie können die Änderungen sehen, die Sie am Puffer vorgenommen haben, indem Sie die verwenden ,p
Befehl wie gewohnt.
This is an example file.
There is some text, but not much.
There are some errors, but not many.
Diese Änderungen existieren natürlich nur im Puffer. Siehst du dir die Datei von außen an ed
, würden Sie nur den Originaltext sehen:
$ cat myfile.txt
This is an example document.
There is some text, but not much.
There is some errors, but not much.
Um Ihre Änderungen wieder in der Datei zu speichern, verwenden Sie die w
Befehl:
w myfile.txt
258
Löschen des Puffers
Um einen neuen Puffer zu erhalten, damit Sie entweder ein neues Dokument beginnen oder ein neues in eine neue Umgebung laden können, verwenden Sie die c
Befehl. Nach der Ausgabe c
Um den Puffer zu löschen, gibt ein Druckbefehl nichts zurück, da der Puffer geleert wurde:
c
,p
Aufhören
Um Ihre zu verlassen ed
Sitzung verwenden Sie die q
Befehl. Dies gibt Ihnen keine Chance, Ihren Puffer zu speichern, also stellen Sie sicher, dass Sie speichern, bevor Sie diesen Befehl verwenden.
Versuchen Sie Ed
Es gibt noch viel mehr ed
können und lernen ed
kann Ihnen einen großartigen Einblick in das Wie leisten sed
und Teile von vim
arbeiten. Ich habe nicht versucht, diesen Artikel zu schreiben ed
, zugegeben, und ich bin mir nicht sicher, ob es das beste Werkzeug für die Texteingabe im Allgemeinen ist. Jedoch, ed
ist ein ausgezeichneter Texteditor, und Sie können ihn leicht lernen, indem Sie seine Dokumentation lesen. Verwenden Sie auf einem GNU-System info ed
um das Handbuch anzuzeigen.