Ed (Texteditor)
![]() Das ed Texteditor | |
Originalautor (en) | Ken Thompson |
---|---|
Entwickler (en) | AT & T Bell Laboratories |
Erstveröffentlichung | 1973, vor 48–49 Jahren |
Geschrieben in | C |
Betriebssystem | Unix, Unix-artig, Plan 9 |
Plattform | Plattformübergreifend |
Typ | Texteditor |
Lizenz | Plan 9: MIT -Lizenz |
ed (ausgesprochen als verschiedene Buchstaben, /ˌichˈdich/)[1] ist ein Zeileneditor zum Unix und Unix-artig Betriebssysteme. Es war einer der ersten Teile des Unix -Betriebssystems, das im August 1969 entwickelt wurde.[2] Es bleibt Teil der Posix und Offene Gruppe Standards für Unix-basierte Betriebssysteme,[3] neben dem anspruchsvolleren Vollbild-Editor vi.
Geschichte und Einfluss
Der ED -Texteditor war eines der ersten drei Schlüsselelemente des UNIX -Betriebssystems -Assembler, Editor, und Hülse-entwickelt von Ken Thompson im August 1969 auf a PDP-7 bei AT & T Bell Labs.[4] Viele Merkmale von ED kamen von der Qed Texteditor bei Thompson's entwickelt Alma Mater Universität von Kalifornien, Berkeley.[5] Thompson war mit QED sehr vertraut und hatte es neu implementiert CTSS und Mehrheit Systeme. Thompsons Versionen von QED waren als erste implementiert Reguläre Ausdrücke. In ED werden auch reguläre Ausdrücke implementiert, obwohl ihre Umsetzung erheblich weniger allgemein ist als in QED.
Dennis M. Ritchie produziert was Doug McIlroy später als "definitive" ed beschrieben,[6] und Aspekte von ED haben weiter beeinflusst ex, was wiederum hervorgebracht wurde vi. Der nicht interaktive Unix-Befehl Grep wurde inspiriert von einer gemeinsamen besonderen Verwendung von QED und später Ed, wo der Befehl g/re/p
bedeutet global, nach dem regulären Ausdruck zu suchen betreffend
und drucken Sie die Zeilen mit der Entfernung. Der Unix -Stream -Editor, sed implementierte viele der Skriptfunktionen von Qed das wurde nicht von ED auf UNIX unterstützt.
Merkmale
Zu den Funktionen von ED gehören:
- verfügbar auf im Wesentlichen allen UNIX -Systemen (und obligatorisch bei Systemen, die an die entsprechen Einzel -Unix -Spezifikation).
- Unterstützung für Reguläre Ausdrücke
- Eine leistungsstarke Automatisierung kann erreicht werden, indem Befehle von der Fütterung von Standardeingabe
(In) berühmt für seine Knickheit und gibt fast kein visuelles Feedback.[7] und wurde genannt (von Peter H. Salus) "Der benutzerhostile Editor, das jemals erstellt wurde", selbst im Vergleich zum Zeitgenossen (und notorisch komplex) Teco.[2] Zum Beispiel wird die Nachricht, die ED im Fehlerfall erzeugt, erzeugt. und Wenn es sicherstellen möchte, dass der Benutzer ohne Speichern kündigen möchte, dann ist "?". Es wird nicht den aktuellen Dateinamen oder die Zeilennummer angegeben oder sogar die Ergebnisse einer Änderung des Textes angezeigt, sofern nicht angefordert. Ältere Versionen (ca. 1981) forderten nicht einmal um Bestätigung, als ein Quit -Befehl ohne Änderungen der Benutzer speichert wurde.[7] Diese Raube war in den frühen Versionen von UNIX angemessen, als Konsolen waren Teletypen, Modems waren langsam und Erinnerung war kostbar. Als sich die Computertechnologie verbesserte und diese Einschränkungen gelockert wurden, wurden die Redakteure mit mehr visueller Feedback zur Norm.

In der aktuellen Praxis wird ED selten interaktiv verwendet, findet jedoch in einigen Shell -Skripte. Für den interaktiven Gebrauch wurde ED von der Subsumed Sam, vi und EMACs Herausgeber in den 1980er Jahren. ED finden Sie auf praktisch jeder Version von UNIX und Linux verfügbar und als solches ist nützlich für Personen, die mit mehreren Versionen von Unix arbeiten müssen. Auf Unix-basierten Betriebssystemen mögen einige Versorgungsunternehmen wie SQL*Plus Führen Sie ED als Editor aus, wenn die Variablen Editor und visuelle Umgebung nicht definiert sind.[8] Wenn etwas schief geht, ist Ed manchmal der einzige verfügbare Editor. Dies ist häufig die einzige Zeit, wenn es interaktiv verwendet wird.
Die Version von Ed von bereitgestellt von GNU hat ein paar Schalter, um das Feedback zu verbessern. Verwendung ed -v -p:
Bietet eine einfache Eingabeaufforderung und ermöglicht nützlichere Feedback -Nachrichten.[9] Das -p
Switch ist in POSIX seitdem definiert XPG2 (1987).[3]
Die ED-Befehle werden häufig in anderen zeilenbasierten Redakteuren nachgeahmt. Zum Beispiel, Edlin in früh MS-DOS Versionen und 32-Bit Versionen von Windows NT hat eine etwas ähnliche Syntax und Textredakteure in vielen Schlamm (Lpmud und zum Beispiel Nachkommen) verwenden ed-like syntax. Diese Redakteure sind jedoch in der Regel eingeschränkter.
Beispiel
Hier ist ein Beispiel -Transkript einer ED -Sitzung. Für Klarheit sind Befehle und Text, die vom Benutzer eingegeben wurden betont.
Ein ED ist der Standard -UNIX -Texteditor. Dies ist Zeilen Nummer zwei. . 2i. , lEd ist der Standard -Unix -Texteditor. $ $ Dies ist Zeilen Nummer zwei. $ 3s/zwei/drei/, lEd ist der Standard -Unix -Texteditor. $ $ Dies ist Zeilen Nummer drei. $ w Text65 q
Das Endergebnis ist eine einfache Textdatei, die den folgenden Text enthält:
Ed ist der Standard -Unix -Texteditor. Dies ist Zeilen Nummer drei.
Begann mit einer leeren Datei, die a
Der Befehl appleitet Text an (alle ED -Befehle sind einzelne Buchstaben). Der Befehl setzt ein Modus einfügenEinfügen der folgenden Zeichen und wird von einem einzelnen Punkt in einer Zeile beendet. Die beiden Zeilen, die vor dem Punkt eingegeben werden, landen im Dateipuffer. Das 2i
Der Befehl geht auch in den Einfügenmodus ein und fügt den eingegebenen Text (in unserem Fall eine einzelne leere Zeile) vor Zeile zwei ein. Alle Befehle können durch eine Zeilennummer für den Betrieb in dieser Zeile vorangestellt werden.
In der Schlange , l
Das Kleinbuchstaben L steht für den Befehl List. Der Befehl wird in diesem Fall durch einen Bereich vorangestellt ,
Welches ist eine Abkürzung für 1, $
. Ein Bereich besteht aus zwei Zeilenzahlen, die durch ein Komma getrennt sind ($
bedeutet die letzte Zeile). Im Gegenzug listet Ed alle Zeilen von First bis End auf. Diese Linien werden mit Dollarschildern beendet, so dass der Weißraum am Ende der Linien deutlich sichtbar ist.
Sobald die leere Linie in Zeile 2 eingefügt ist, heißt es in der Zeile, in der "Dies ist Zeilenum Nummer zwei". ist jetzt tatsächlich die dritte Zeile. Dieser Fehler wird mit korrigiert 3s/zwei/drei//
, ein Substitutionskommando. Das 3
wird es auf die richtige Linie anwenden; Nach dem Befehl ist der zu ersetzende Text und dann der Ersatz. Auflistung aller Zeilen mit , l
Die Linie wird jetzt als korrekt angezeigt.
w Text
schreibt den Puffer in die Datei "Text", die Ed reagiert mit 65, die Anzahl der in die Datei geschriebenen Zeichen. q
wird eine ED -Sitzung beenden.
Kulturelle Referenzen
Das GNU Das Projekt hat zahlreiche Witze in der Nähe von Ed, die auf seiner Website gehostet werden. Außerdem eine Fehlercode genannt ED
ist definiert in Glibc: Wenn die Bibliothek aufgefordert wird, ihre Beschreibung auszudrucken (fehlstriert), gibt die Bibliothek ein einziges Fragezeichen zurück. Die Dokumentation lautet einfach "Der erfahrene Benutzer wird wissen, was falsch ist."[10]
Siehe auch
- Ex (Texteditor), ursprünglich ein exgepflegtes Version von ed
- vi, das viSual-Vollbild-Editor basierend auf ex
- sed, der Standard Unix sTream editor basierend auf den Skriptfunktionen in ed
- Edlin, der Standard-MS-DOS-Zeilenredakteur, der von inspiriert wurde von ed
- Sam (Texteditor)
- Herausgeberkrieg
- Liste der UNIX -Befehle
Verweise
- ^ Computerphile (2018-07-06), Wo Grep von - Computerphile kommt, archiviert vom Original am 2021-12-11, abgerufen 2020-10-21
- ^ a b Salus, Peter H. (2005). Der Daemon, der GNU und der Pinguin. Groklaw.
- ^ a b Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe - Shell and Utilities Referenz,
- ^ Der Peter H. Salus, Dämon, der Gnu und der Pinguin. CH. 2. & 3. Donnerstag, 14. April 2005 um 22:56 Uhr EDT. http://www.groklaw.net/article.php?story=20050414215646742 Zugriff auf 29.10.2015.
- ^ D. M. Ritchie und K. L. Thompson, "QED -Texteditor", MM-70-1373-3 (Juni 1970), nachgedruckt als "QED EXEX EDEX EDITER Referenzhandbuch", MHCC-004, Murray Hill Computing, Bell Laboratories (Oktober 1972).
- ^ McIlroy, M. D. (1987). A Research Unix Reader: Annotierte Auszüge aus dem Programmierhandbuch, 1971–1986 (PDF) (Technischer Bericht). Cstr. Bell Labs. 139.
- ^ a b Donald A. Norman (1981). "Die Wahrheit über Unix" (PDF). DataMation.
- ^ Verwaltung von SQL*Plus. https://docs.oracle.com/cd/e11882_01/server.112/e10839/admn_sqlpls.htm#unxar166 Zugriff auf 23.07.2016.
- ^ Linux Allgemeine Befehle Handbuch - -
- ^ "Die GNU C -Bibliothek - Fehlercodes". ftp.gnu.org.
Externe Links
- Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe : Text bearbeiten - Shell and Utilities Referenz,
- Manuelle Seite von UNIX First Edition beschreibt Ed.
- Version 7 Unix Programmierer Handbuch : Texteditor -
- Plan 9 Programmierhandbuch, Band 1, ein direkter Nachkomme des Original Ed. : Texteditor -
- Gnu ed Homepage
- Gnu ed für win32
- UNIX -Redakteure i
- Beispiele für ED in Skripten
- ed humor ("ed ist der Standard -Texteditor")
- Eine Geschichte von Unix vor Berkeley Abschnitt 3.1 beschreibt die Geschichte von ED.