Ed (Unix)
| en software | |
|---|---|
| Genre | Teksteditor |
| Ontwikkelaar | Bell Laboratoria |
| Datum eerste versie | 1971 |
| Besturingssysteem | Unix-achtig |
En het is een teksteditor , de originele standaard voor dit soort programma's voor het Unix -besturingssysteem . De ontwikkeling ervan werd geïnspireerd door een eerdere redacteur, bekend als QED , die op zijn beurt invloed had op ex , waarvan het vi ontleende . [1]
Functies [2]
en het is te vinden in vrijwel elke beschikbare versie van Unix en GNU / Linux ; vaak kennen degenen die met meerdere versies van Unix te maken hebben op zijn minst de basis ed- commando's .
De syntaxis van ed heeft verschillende Unix-programma's beïnvloed, zoals sed , awk en grep , evenals de programmeertaal Perl .
Beroemd om zijn beknopte syntaxis en heeft bijna geen visuele impact. Het bericht dat ed bijvoorbeeld produceert in geval van een fout of wanneer het zeker wil weten dat de gebruiker van plan is af te sluiten zonder op te slaan, is "?". Het rapporteert niet de huidige bestandsnaam of regelnummer, tenzij daarom wordt gevraagd.
Deze syntaxis was geschikt in vroege versies van Unix, toen consoles printers waren, modems traag en schijfruimte en geheugen kostbaar waren. Deze voordelen waren niet langer zoals meer interactieve editors de standaard werden.
Voorbeeldsessie
Hier is een transcriptie van een voorbeeldsessie:
tot ed is de standaard Unix-teksteditor. Dit is regel nummer twee. . 2i * . 1, $ l ed is de standaard Unix-teksteditor * $ Dit is regel nummer 2. $ 3s / twee / drie / 1, $ l ed is de standaard Unix-teksteditor * $ Dit is regel nummer 3. $ w tekst 66 q
Uitleg van het voorbeeld
In het voorbeeld beginnen we met een leeg bestand en gebruiken we a om tekst in te voegen (alle ed-commando's zijn losse karakters). Dit brengt ons bij de invoegmodus , die eindigt met het invoegen van een enkel punt in een lijn. De twee regels die vóór de punt zijn ingevoegd, worden in de bestandsbuffer ingevoerd . 2i schakelt over naar de invoegmodus en voegt de volgende tekst ( * in het voorbeeld) in voor regel twee. Alle opdrachten kunnen worden voorafgegaan door een regelnummer om aan te geven dat ze op die regel moeten werken.
In 1 staat het l- teken voor het lijstcommando . Deze keer bereiden we een bereik voor de opdracht voor, waarbij we de twee limietregels aangeven die ze scheiden met een komma ($ geeft de laatste regel aan). en toont vervolgens alle regels van de eerste tot de laatste. Deze lijnen eindigen met een dollarteken, zodat het einde van de lijn goed zichtbaar is.
Later wordt de fout in regel 3 gecorrigeerd met 3s / two / three / , een vervangend commando. De 3 geeft de regel aan waarin het s - commando moet worden uitgevoerd , gevolgd door de te vervangen tekst en de vervanging. Als we alle regels met 1, $ 1 afdrukken , zien we dat de regel nu correct is.
w text schrijft de buffer naar het "tekst"-bestand. en antwoordt met 66, wat het aantal tekens is dat naar het bestand is geschreven. q sluit de sessie.
Opmerkingen
- ^ GNU 'ed ' Manual , op gnu.org . Ontvangen op 11 februari 2020 .«Ed is samen met het Unix-besturingssysteem gemaakt door Ken Thompson en Dennis Ritchie. Het is de verfijning van zijn complexere, programmeerbare voorganger, QED, waaraan Thompson en Ritchie al mogelijkheden voor patroonherkenning hadden toegevoegd "
- ^ ed, de redacteur van de Real Programmer , op xmau.com . Ontvangen op 11 februari 2020 .