Ed

ed
Tip de Utilitar UNIX [d] și editor de linii [d]
Autor Laboratoarele Bell
Dezvoltator Ken Thompson
Interfață TTY
Sistem de operare UNIX
Prima editie 1971
Platformă hardware Unix

ed  (pronunțat /iːdiː/ ) [1] este primul editor de text standard al sistemului de operare UNIX .

Are o interfață orientată spre comenzi , deoarece a fost creat într-un moment în care monitoarele nu existau și teletype era instrumentul standard de intrare/ieșire .

Istorie și influențe

Editorul a fost scris de Ken Thompson în limbajul de asamblare PDP-11 /20 în 1971. Multe dintre caracteristicile lui ed provin de la QED , un editor de text creat la alma mater a lui Thompson , UC Berkeley [2] . Ken era foarte familiarizat cu QED și îl portase anterior la CTSS și Multics . Versiunea sa de QED a văzut prima implementare a expresiilor regulate . Expresiile regulate au apărut și în ed, deși au fost implementate într-o măsură mai mică decât în ​​QED.

O extensie puternică a ideilor lui ed este editorul de text sam, care a fost scris pentru Planul 9 . O versiune extinsă a editorului, cunoscută sub numele de ex , a devenit ulterior baza pentru vi .

Caracteristici

ed (sau echivalentul său) este disponibil pe aproape toate sistemele de operare asemănătoare UNIX (și ar trebui să fie pe un sistem conform specificației unice UNIX ). Cunoscut pentru concizia sa extremă, practic nu oferă niciun feedback [3] . De exemplu, atât mesajul de eroare, cât și promptul de confirmare că utilizatorul dorește să iasă fără să salveze sunt ambele „?”. Nu arată rezultatul modificărilor textului fără o cerință. Versiunile mai vechi (circa 1981) nici măcar nu cer confirmarea pentru ieșire fără salvare [3] . Această concizie a fost utilă pe versiunile mai vechi ale UNIX, când teletipul era consola , modemurile erau lente și memoria era prețioasă. Pe măsură ce tehnologia computerelor s-a îmbunătățit, aceste restricții s-au atenuat și editorii de text vizual au devenit norma.

După apariția editorilor orientați pe ecran, ed a ajuns să fie folosit în primul rând pentru procesarea automată cu shell-ul UNIX , cum ar fi aplicarea de corecții . În acest sens, este strămoșul unei familii de editori de fluxuri precum sed .

Modul de comandă ed a fost adesea imitat de alți editori de text. De exemplu, Edlin în versiunile timpurii ale MS-DOS avea o sintaxă oarecum similară. Editorii de text din multe jocuri MUD (de ex . LPMud și descendenții săi) au, de asemenea, o sintaxă similară cu ed.

Exemplu

Exemplu de sesiune în ed. Pentru claritate, textul rezultat de editor este evidențiat .

A ed este editorul de text standard Unix. Aceasta este linia numărul doi. . 2i . %l ed este editorul de text standard Unix.$ $ Aceasta este rândul numărul doi.$ 3s/două/trei/ ,l ed este editorul de text standard Unix.$ $ Aceasta este rândul numărul trei.$ wtext 65 q

Ca urmare, fișierul va conține următorul text:

ed este editorul de text standard Unix. Aceasta este linia numărul trei.

Lucrarea începe cu un fișier gol, comanda aadaugă text (toate comenzile ed constau dintr-o literă). Comanda pune editorul în modul adăugare pe linia curentă .  Intrarea se termină cu un punct pe o linie separată. Aceste două linii introduse înainte de punct sunt stocate în buffer-ul fișierului. Comanda pune editorul în modul de inserare pe linia numărul 2 și inserează textul introdus (doar un spațiu în acest caz) înaintea fostei a doua linie, care acum devine a treia. Toate comenzile pot fi prefixate cu șirul de schimbat. 2i 

Sintaxa generală a oricăror comenzi: [[адрес начальной строки,]адрес конечной строки]команда[параметры]. Un exemplu de mutare ( English  move ) a unui bloc de text din ultimele patru rânduri ale unui fișier și adăugare după rândul numărul 43: $-4,$m43. Simbolul $reprezintă ultima linie.

Într-un șir , o %lliteră mică lînseamnă o comandă de ieșire. Prefixul acestei comenzi este intervalul de ieșire, în acest caz %, care este prescurtarea de la 1,$. Aceasta înseamnă că trebuie să scoateți toate liniile de la prima la ultima.

După inserarea unei linii goale, textul „Aceasta este linia numărul doi”. coboară la a treia linie. Eroarea poate fi remediată cu comanda înlocuire 3s/two/three/. Ieșirea întregului text poate fi produsă și printr-o comandă ,l(virgula aici este un sinonim pentru %).

w textsalvează textul într-un fișier, ca răspuns ed imprimă numărul de caractere scrise ( 65). qiese din editor.

Vezi și

Note

  1. Computerphile (2018-07-06), De unde a venit GREP - Computerphile , < https://www.youtube.com/watch?v=NTfOnGZUZDk > . Preluat la 7 iulie 2018. Arhivat la 11 noiembrie 2018 la Wayback Machine 
  2. DM Ritchie și KL Thompson, „QED Text Editor”, MM-70-1373-3 Arhivat 2015-02-3 . (iunie 1970), retipărit ca „QED Text Editor Reference Manual”, MHCC-004, Murray Hill Computing, Bell Laboratories (octombrie 1972).
  3. 1 2 Donald A. Norman. Adevărul despre UNIX  (neopr.)  // Datamation . - 1981. Arhivat la 16 aprilie 2014.

Link -uri