Ed

ed
Sorts UNIX-verktyg [d] och linjeredigerare [d]
Författare Bell Laboratories
Utvecklaren Ken Thompson
Gränssnitt TTY
Operativ system UNIX
Första upplagan 1971
Hårdvaruplattform Unix

ed  (uttalas /iːdiː/ ) [1] är den första standardtextredigeraren i UNIX - operativsystemet .

Den har ett kommandoorienterat gränssnitt , eftersom det skapades vid en tidpunkt då bildskärmar inte existerade och teletyp var standardinmatnings-/utmatningsverktyget .

Historia och influenser

Redaktören skrevs av Ken ThompsonPDP-11 /20 assembly language 1971. Många av eds funktioner kommer från QED , en textredigerare skapad på Thompsons alma mater , UC Berkeley [2] . Ken var mycket bekant med QED och hade tidigare porterat det till CTSS och Multics . Hans version av QED såg den första implementeringen av reguljära uttryck . Reguljära uttryck förekom också i ed, även om de implementerades i mindre utsträckning än i QED.

En kraftfull förlängning av eds idéer är sam textredigerare, som skrevs för Plan 9 . En utökad version av redaktören, känd som ex , blev senare grunden för vi .

Funktioner

ed (eller motsvarande) är tillgänglig på nästan alla UNIX-liknande operativsystem (och bör vara på ett system som överensstämmer med Single UNIX-specifikationen ). Känd för sin extrema koncisthet, ger praktiskt taget ingen feedback [3] . Till exempel är både felmeddelandet och bekräftelseuppmaningen att användaren vill avsluta utan att spara båda "?". Den visar inte resultatet av textändringar utan krav. Äldre versioner (cirka 1981) ber inte ens om bekräftelse för att avsluta utan att spara [3] . Denna koncisitet var användbar på äldre versioner av UNIX, när teletyp var konsolen , modemen var långsamma och minnet var dyrbart. I takt med att datortekniken har förbättrats har dessa begränsningar lättat och visuella textredigerare har blivit normen.

Efter tillkomsten av skärmorienterade redigerare kom ed att användas främst för automatisk bearbetning med UNIX-skalet , som att applicera patchar . I denna mening är det stamfadern till en familj av stream-redaktörer som sed .

Kommandoläget ed har ofta imiterats av andra textredigerare. Till exempel hade Edlin i tidiga versioner av MS-DOS en något liknande syntax. Textredigerarna i många MUD-spel (t.ex. LPMud och dess ättlingar) har också en syntax som liknar ed.

Exempel

Sessionsexempel i red. För tydlighetens skull är textutmatningen av redigeraren markerad .

a ed är standard Unix textredigerare. Det här är rad nummer två. . 2i . %l ed är standard Unix textredigerare.$ $ Detta är rad nummer två.$ 3s/två/tre/ ,l ed är standard Unix textredigerare.$ $ Detta är rad nummer tre.$ w text 65 q

Som ett resultat kommer filen att innehålla följande text:

ed är standard Unix textredigerare. Det här är rad nummer tre.

Arbetet börjar med en tom fil, kommandot alägger till text (alla ed-kommandon består av en bokstav). Kommandot sätter redigeraren i tilläggsläge på den aktuella raden .  Inmatningen avslutas med en punkt på en separat rad. Dessa två inmatade rader före punkt lagras i filbufferten. Kommandot sätter editorn i infogningsläge på rad nummer 2 och infogar den inmatade texten (bara ett mellanslag i det här fallet) före den tidigare andra raden, som nu blir den tredje. Alla kommandon kan föregås med strängen som ska ändras. 2i 

Allmän syntax för alla kommandon: [[адрес начальной строки,]адрес конечной строки]команда[параметры]. Ett exempel på att flytta ( engelska  flytta ) ett textblock från de fyra sista raderna i en fil och lägga till det efter rad nummer 43: $-4,$m43. Symbolen $står för den sista raden.

I en sträng betyder en %lliten bokstav lett utmatningskommando. Prefixet för det här kommandot är utgångsområdet, i det här fallet %, vilket är en förkortning av 1,$. Det betyder att du måste skriva ut alla rader från den första till den sista.

Efter att ha infogat en tom rad, texten "Detta är rad nummer två." går ner till tredje raden. Felet kan åtgärdas med kommandot ersätt 3s/two/three/. Utdata av hela texten kan också produceras av ett kommando ,l(komma här är en synonym för %).

w textsparar texten i en fil, som svar ed skriver ut antalet skrivna tecken ( 65). qavslutar editorn.

Se även

Anteckningar

  1. Computerphile (2018-07-06), Where GREP Came From - Computerphile , < https://www.youtube.com/watch?v=NTfOnGZUZDk > . Hämtad 7 juli 2018. Arkiverad 11 november 2018 på Wayback Machine 
  2. DM Ritchie och KL Thompson, "QED Text Editor", MM-70-1373-3 Arkiverad 2015-02-3 . (juni 1970), omtryckt som "QED Text Editor Reference Manual", MHCC-004, Murray Hill Computing, Bell Laboratories (oktober 1972).
  3. 1 2 Donald A. Norman. Sanningen om UNIX  (neopr.)  // Datamation . - 1981. Arkiverad den 16 april 2014.

Länkar