Provided by:
manpages-nl_20051127-4_all
NAAM
ed, red - tekstverwerker
OVERZICHT
ed [-] [-Gs] [-p STRING] [BESTAND]
red [-] [-Gs] [-p STRING] [BESTAND]
BESCHRIJVING
ed Is een regelgeoriënteerde tekstverwerker. Hij wordt gebruikt voor
het maken, laten zien, veranderen en op andere manieren manipuleren van
tekstbestanden. red Is een beperkte ed: hij kan alleen bestanden in de
huidige directorie bewerken en kan geen shellopdrachten uitvoeren.
Als aangeroepen met een BESTAND argument, dan wordt een kopie van
BESTAND gelezen in de buffer van de tekstverwerker. Veranderingen wor‐
den gedaan gedaan op deze kopie en niet direct op BESTAND zelf. Bij
het stoppen van ed gaan alle veranderingen die niet expliciet zijn
opgeslagen met een ‘w’ opdracht verloren.
Bewerken wordt gedaan in twee aparte toestanden: opdracht en invoer.
Na aanroepen staat ed in opdracht-toestand. In deze toestand worden
opdrachten gelezen van de standaard invoer en uitgevoerd, waarmee de
inhoud van de tekstverwerkerbuffer gemanipuleerd kan worden. Een typ‐
ische opdracht ziet er zo uit:
,s/OUD/NIEUW/g
dit vervangt alle keren dat de string {nl: karakter-snoer} ‘OUD’
voorkomt in ‘NIEUW’.
Wanneer een invoer opdracht, zoals ‘a’ (toevoegen), ‘i’ (invoegen) of
‘c’ (veranderen) wordt gegeven, gaat ed naar de invoer-toestand. Dit is
de belangrijkste manier voor het toevoegen van tekst aan een bestand.
In deze toestand zijn er geen opdrachten voorhanden; in plaats daarvan
wordt de standaard invoer direct naar de tekstverwerker buffer
geschreven. Regels bestaan uit tekst tot-en-met een nieuweregel karak‐
ter. Invoer-toestand wordt beëindigd door een enkele punt (.) op een
regel te geven.
Alle opdrachten van ed opereren op hele regels of intervallen van
regels; dat is, de ‘d’ opdracht schrapt regels, de ‘m’ opdracht ver‐
plaatst regels, en zo verder. Het is mogelijk om alleen een gedeelte
van een regel te veranderen door vervanging zoals in het bovenstaande
voorbeeld. Echter ook hier wordt de ‘s’ opdracht toegepast op hele
regels tegelijk.
In het algemeen bestaan ed opdrachten uit nul of meer regel adressen,
gevolgd door een enkele-karakter opdracht en mogelijk extra parameters;
dat is, de opdrachten hebben de structuur:
[ADRES [,ADRES]]OPDRACHT[PARAMETERS]
De adres(sen) geven aan welke regel of welk interval van regels
beïnvloedt wordt door de opdracht. Als minder adressen worden gegeven
dan de opdracht accepteert, dan worden ‘door-val’ adressen geleverd.
OPTIES
-G Dwingt terugwaartse compatibiliteit. Beïnvloedt de opdrachten
‘G’, ‘V’, ‘f’, ‘l’, ‘m’, ‘t’, en ‘!!’.
-s Onderdrukt diagnose berichten. Dit zou gebruikt moeten worden
als ed’s standaard invoer van een script komt.
-p STRING
Specificeert een opdracht prompt. Dit kan aan/uit gezet worden
met de ‘P’ opdracht.
BESTAND Specificeert de naam van een bestand dat gelezen zal worden.
Als BESTAND wordt voorafgegaan door een uitroepteken (!), dan
wordt het geïnterpreteerd als een shellopdracht. In dit geval
wordt de standaard uitvoer van BESTAND gelezen, uitgevoerd via
sh(1). Om een bestand te lezen wiens naam begint met een
uitroepteken, zet een backslash vóór de naam (\). De ‘huidige
bestandnaam’ wordt alleen naar BESTAND gezet als het niet
voorafgegaan werd door een uitroepteken.
REGEL ADRESSERING
Een adres stelt het nummer van een regel in de buffer voor. ed Onder‐
houd een huidig adres, dat typisch wordt gegeven aan opdrachten wanneer
geen adres werd opgegeven, als het ‘door-val’ adres. Als een bestand
voor het eerst ingelezen wordt, wordt het huidige adres gezet naar de
laatste regel van dat bestand. In het algemeen wordt het huidige adres
gezet naar de laatste regel die beïnvloed werd door een opdracht.
Een regel-adres bestaat uit één van de zaken uit de onderstaande lijst,
optioneel gevolgd door een numeriek verschil ten opzichte daarvan. Dat
verschil mag elke combinatie van cijfers, operators (dat is: +, - en ^)
en witruimte bevatten. Adressen worden van links naar rechts gelezen,
en hun waardes worden berekend relatief aan het huidige adres.
Een uitzondering op deze regel dat adressen regelnummers voorstellen is
het adres 0 (nul). Dit betekend "vóór de eerste regel", en is legaal
waar het zin heeft.
Een adres-interval is twee adressen gescheiden door, óf een komma, óf
een puntkomma. De waarde van het eerste adres in een interval mag niet
groter zijn dan de waarde van de tweede. Als maar één adres gegeven
wordt in een interval, dan wordt het tweede adres ook naar dat gegeven
adres gezet. Als een n-aantal adressen werd gegeven waarvoor geldt n >
2, dan wordt het bijbehorende interval bepaald door de laatste twee
adressen van het n-tal. Als maar één adres verwacht werd, dan wordt
het laatste adres gebruikt. Elk adres in een komma-gescheiden interval
wordt uitgelegd relatief aan het huidige adres. In een puntkomma-
gescheiden interval wordt het eerste adres gebruikt om het huidige
adres te zetten, en het tweede adres wordt relatief aan de eerste uit‐
gelegd.
De volgende adres symbolen worden herkent.
. de huidige regel (adres) in de buffer.
$ De laatste regel in de buffer.
N De Nde, regel in de buffer, waar N een getal in het interval
[0,$] is.
-
^ De vorige regel. Dit is gelijk aan -1 en mag herhaald worden
met cumulatief {opstapelend} effect.
-N
^N De Nde vorige regel waar N een niet-negatief getal is.
+ De volgende regel. Dit is gelijk aan +1 en mag herhaald worden
voor cumulatief effect.
+N
witruimteN
De Nde volgende regel waar N een niet-negatief getal is.
Witruimte gevolgd door een getal N wordt geïnterpreteerd als
+N.
,
% De eerste tot laatste regel in de buffer. Dit is gelijk aan het
adres-interval 1,$.
; De huidige tot laatste regel in de buffer. Dit is gelijk aan
het adres-interval .,$.
/RE/ De volgende regel die de reguliere expressie RE bevat. Het
zoeken loopt door (na het einde van het bestand) naar het begin
van de buffer, en gaat verder naar beneden tot de huidige regel
als nodig. // herhaald de laatste zoekopdracht.
?RE? De vorige regel die de reguliere uitdrukking RE bevat. Het
zoeken vouwt (na het einde van het bestand) naar het begin van
de buffer, en gaat verder naar beneden tot de huidige regel als
nodig. ?? herhaald de laatste zoekopdracht.
’KL De regel hiervoor gemerkt door een merk opdracht, waar KL een
kleine letter is.
REGULIERE EXPRESSIES
Reguliere expressies zijn patronen die gebruikt worden in het
selecteren van tekst. Bijvoorbeeld de ed opdracht
g/STRING/
drukt elke regel af die STRING bevat. Reguliere expressies worden ook
gebruikt door de s opdracht voor het selecteren van oude tekst om het
te vervangen door nieuwe.
In aanvulling op het opgeven van letterlijke strings, vertegenwoordigen
reguliere expressies klassen van strings. Strings die daarmee
overeenkomen worden ‘gepast’ {eng: matched} door de overeenkomstige
reguliere expressie. Als het mogelijk is voor een reguliere expressie
om meerdere strings in een regel te passen dan wordt de meest linkse
overeenkomst gekozen.
De volgende symbolen worden gebruikt in het bouwen van reguliere
expressies:
K Elk karakter K niet onder genoemd, ook ‘{’, ‘}’, ‘(’, ‘)’, ‘<’
en ‘>’, past zichzelf.
\K Een backslash-escape’t karakter K anders dan ‘{’, ‘}’, ‘(’,
‘)’, ‘<’, ‘>’, ‘b’, ‘B’, ‘w’, ‘W’, ‘+’, en ‘?’ past zichzelf.
. Past elk enkel karakter.
[karakter-klasse]
Past elk enkele karakter in karakter-klasse. Om een ‘]’ bij te
voegen in karakter-klasse moet het het eerste karakter zijn.
Een interval van karakters mag worden opgegeven door de grens-
karakters van het interval met een ‘-’, dat is: ‘a-z’ speci‐
ficeert de kleine letters. De volgende letterlijke expressies
kunnen gebruikt worden in karakter-klasse om sets karakters te
specificeren.
[:alnum:] [:cntrl:] [:lower:] [:space:]
[:alpha:] [:digit:] [:print:] [:upper:]
[:blank:] [:graph:] [:punct:] [:xdigit:]
Als ‘-’ voorkomt als het eerste of laatste karakter van karak‐
ter-klasse, dan past het zichzelf. Alle andere karakters in
char-class passen zichzelf.
Patronen in karakter-klasse in de vorm:
[.COL-ELEM.] of, [=COL-ELEM=]
waar COL-ELEM een collatie-element is, wordt geïnterpreteerd
volgens de locale(5) (momenteel niet ondersteund). Zie
regex(3) voor uitleg over deze dingen.
[^KARAKTER-KLASSE]
Past elk enkel karakter (behalve een nieuweregel) dat niet in
KARAKTER-KLASSE staat. KARAKTER-KLASSE is boven gedefinieerd.
^ Als ‘^’ het eerste karakter van een reguliere uitdrukking is
dan ankert het de reguliere uitdrukking aan het begin van een
regel. Anders past het zichzelf.
$ Als ‘$’ het laatste karakter van een reguliere uitdrukking is
dan ankert het de reguliere uitdrukking aan het einde van een
regel. Anders past het zichzelf.
\(RE\) Definieert een (mogelijke nul) sub-expressie RE. Sub-
expressies mogen genest worden. Een nakomende terugverwijzing
in de vorm ‘\n’ waar N een getal van 1 tot 9 (incl.) is,
expandeert tot de tekst die werd gepast door de Nde sub-
expressie. Bijvoorbeeld de reguliere expressie ‘\(f.p\)\1’
past de string ‘fipfip’, maar niet ‘fipfop’. Sub-expressies
worden geordend relatief vanaf hun linker begrenzing.
* Past de enkele karakter reguliere expressie of sub-expressie
onmiddellijk ervoor nul of meer keren. Als ‘*’ het eerste
karakter van een reguliere expressie of sub-expressie is, dan
past het zichzelf. De ‘*’ operator leidt soms tot onverwachte
resultaten; bijvoorbeeld de reguliere uitdrukking ‘b*’ past het
begin van de string ‘abbb’, en niet de sub-string ‘bbb’, omdat
een nul-overeenkomst de meest linker overeenkomst is.
\{N,M\}
\{N,\}
\{N\} Past de enkele karakter reguliere expressie of sub-expressie
onmiddellijk ervoor tenminste N en maximaal M keer. Als M
weggelaten is dan past het tenminste N keer. Als de komma ook
wordt weggelaten, dan past het precies N keer. Als één van deze
vormen als eerste optreedt in een reguliere expressie of sub-
expressie, dan wordt het als letterlijk uitgelegd (dat is, de
reguliere expressie ‘\{2\}’ past de string {2}, en zo verder).
\<
\> Ankert de enkele karakter reguliere expressie of sub-expressie
onmiddellijk erop volgend aan het begin (\<) of einde (\>) van
een woord, dat is, in ASCII een maximale string van alphanu‐
merieke karakters, inclusief het onder-streepje (_).
De volgende uitgebreide operators worden voorafgegaan door een back‐
slash (\) om ze te kunnen onderscheiden van de traditionele ed
spelling.
\‘
\’ Past onvoorwaardelijk het begin (\‘) of eind (\’) van een
regel.
\? Optioneel past een enkele karakter reguliere expressie of sub-
expressie onmiddellijk ervoor. Bijvoorbeeld, de reguliere
expressie ‘l[uo]\?s’ past de strings ‘lus’, ‘los’ en ‘ls’. Als
\? voorkomt aan het begin van een reguliere expressie of sub-
expressie dan past het een letterlijke ‘?’.
\+ Past de enkele karakter reguliere expressie of sub-expressie
onmiddellijk eraan voorafgaand één of meer keren. Dus de reg‐
uliere expressie ‘a+’ is een afkorting voor ‘aa*’. Als \+
voorkomt aan het begin van een reguliere expressie of sub-
expressie dan past het een letterlijke ‘+’.
\b Past het begin of eind (nul string) van een woord. Dus de reg‐
uliere expressie ‘\bhallo\b’ is gelijk aan ‘\<hallo\>’. Maar,
‘\b\b’ is een geldige reguliere expressie terwijl ‘\<\>’ dat
niet is.
\B Past (een nul string) in een woord.
\w Past elk karakter in een woord.
\W Past elk karakter niet in een woord.
OPDRACHTEN
Alle ed opdrachten zijn enkele karakters, maar sommige vereisen extra
parameters. Als de parameters van de opdracht over meerdere regels
heenreiken dan moet elke regel behalve de laatste beëindigt worden met
een backslash (\).
In het algemeen wordt één opdracht toegestaan per regel. Echter, de
meeste opdrachten accepteren een afdrukken achtervoegsel, dat één van:
(afdrukken), ‘l’ (lijst) , of ‘n’ (numeriek-afdrukken) is, om de laat‐
ste regel beïnvloedt door de opdracht af te drukken.
Een onderbreking (typisch ^C) heeft het effect van het afbreken van de
huidige opdracht en terug te keren naar de opdracht-toestand van de
tekstverwerker.
ed Herkent de volgende opdrachten. De opdrachten worden samen getoond
met de standaard adressen of adres-intervallen die geleverd worden als
geen wordt gegeven (in haakjes).
(.)a Voeg tekst toe aan de buffer na de geadresseerde regel, die mag
adres 0 (nul) zijn. Text wordt ingevoerd in invoer-toestand.
Het huidige adres wordt gezet naar de laatste ingevoerde regel.
{eng: ‘a’ppend}
(.,.)c Veranderd regels in de buffer. De geadresseerde regels worden
geschrapt uit de buffer, en tekst wordt toegevoegd in hun
plaats. Text wordt ingevoerd in invoer-toestand. Het huidige
adres wordt gezet naar de laatste ingevoerde regel. {eng:
‘c’ange}
(.,.)d Schrapt de geadresseerde regels uit de buffer. Als er een
regel na het geschrapte interval is, dan wordt het huidige
adres gezet naar deze regel. Anders wordt het huidige adres
gezet naar de regel vóór het geschrapte interval. {eng:
‘d’elete}
e BESTAND
Bewerk BESTAND, en zet de standaard bestandnaam. Als BESTAND
niet wordt gegeven, dan wordt de huidige bestandnaam gebruikt.
Aanwezige regels in de buffer worden geschrapt voordat het
nieuwe bestand wordt ingelezen. Het huidige adres wordt gezet
naar de laatste ingevoerde regel. {eng: ‘e’dit}
e !OPDRACHT
Bewerk de standaard uitvoer van ‘!OPDRACHT’, (zie !OPDRACHT
onder). De huidige bestandnaam blijft onveranderd. Aanwezige
regels in de buffer worden geschrapt voordat de uitvoer van
OPDRACHT wordt ingelezen. Het huidige adres wordt gezet naar
de laatste ingevoerde regel.
E BESTAND
Bewerk BESTAND onvoorwaardelijk. Dit is gelijk aan de e
opdracht, behalve dat ongeschreven veranderingen worden
genegeerd zonder waarschuwing. Het huidige adres wordt gezet
naar de laatste ingevoerde regel.
f BESTAND
Zet de huidige bestandnaam naar BESTAND. Als BESTAND niet werd
opgegeven, dan wordt de huidige onge-escape’te bestandnaam
afgedrukt. {eng: ‘f’ile}
(1,$)g/RE/OPDRACHTENLIJST
Past OPDRACHTENLIJST toe op elk van de geadresseerde regels die
met de reguliere expressie RE overeenkomen. Het huidige adres
wordt gezet naar de momenteel (op de reguliere expressie)
gepaste regel voordat OPDRACHTENLIJST wordt uitgevoerd. Bij
het einde van de ‘g’ opdracht wordt het huidige adres gezet
naar de laatste regel beïnvloedt door OPDRACHTENLIJST. {eng:
‘g’lobal}
Elke opdracht in OPDRACHTENLIJST moet op een aparte regel
staan, en elke regel behalve de laatste moet afgesloten worden
door een backslash (\). Alle opdrachten worden toegestaan,
behalve: ‘g’, ‘G’, ‘v’, en ‘V’. Een nieuweregel op een regel
alleen in OPDRACHTENLIJST staat gelijk aan een ‘p’ opdracht.
(1,$)G/RE/
Bewerk de geadresseerde regels die met een reguliere expressie
RE. overeenkomen interactief. Voor elke overeenkomende regel
wordt de regel afgedrukt, het huidige adres wordt gezet, en de
gebruiker wordt ge-prompt om een OPDRACHTENLIJST te geven. Na
de ‘G’ opdracht wordt het huidige adres gezet naar de laatste
beïnvloedde regel door (de laatste) OPDRACHTENLIJST.
De vorm voor OPDRACHTENLIJST is hetzelfde als voor de ‘g’
opdracht. Een nieuweregel alleen op een regel geldt als een nul
opdrachtenlijst. Een enkele ‘&’ herhaald de laatste niet-nul
opdrachtenlijst.
H Zet foutmeldingen aan of uit. Standaard wordt uitleg niet afge‐
drukt. Het wordt aangeraden om ed scripts te beginnen met deze
opdracht om debuggen makkelijker te maken. {eng: ’H’elp}
h Drukt de uitleg over de laatste fout af.
(.)i Text invoegen in de buffer vóór de huidige regel. Tekst wordt
ingevoerd in invoer-toestand. Het huidige adres wordt gezet
naar de laatste ingevoerde regel. {eng: ‘i’nsert}
(.,.+1)j
Voegt de geadresseerde regels samen. De geadresseerde regels
worden geschrapt uit de buffer en vervangen door een enkele
regel die hun samengenomen tekst bevat. Het huidige adres
wordt gezet naar de opgeleverde regel. {eng: ‘j’oin}
(.)kKL Markeert een regel met een kleine letter KL. De regel kan dan
geadresseerd worden als ’KL (dat is, een enkel-aanhalingsteken
gevolgd door KL ) in navolgende opdrachten. De markering wordt
niet verwijderd totdat de regel wordt geschrapt of op een
andere manier veranderd.
(.,.)l Drukt de geadresseerde regels ondubbelzinnig af. Als
aangeroepen vanaf een terminal pauzeert ed op het einde van
elke pagina tot een nieuweregel wordt ingevoerd. Het huidige
adres wordt gezet naar de laatste afgedrukte regel. {eng:
‘l’ist}
(.,.)m(.)
Verplaatst regels in de buffer. De geadresseerde regels worden
verplaatst naar na het rechterhand doel-adres, dat adres 0
(nul) mag zijn. Het huidige adres wordt gezet naar de laatste
verplaatste regel. {eng: ‘m’ove}
(.,.)n Drukt de geadresseerde regels samen met hun regelnummers af.
Het huidige adres wordt gezet naar de laatste afgedrukte regel.
{eng: ‘n’umber}
(.,.)p Drukt de geadresseerde regels af. Als aangeroepen van een ter‐
minal pauzeert ed bij het einde van elke pagina totdat een
nieuweregel wordt ingevoerd. Het huidige adres wordt gezet
naar de laatste afgedrukte regel. {eng: ‘p’rint}
P Zet de opdracht-prompt aan of uit. Tenzij een prompt werd
opgegeven met de opdrachtregel optie -p STRING, staat de
opdracht-prompt standaard uit.
q Stopt ed. {eng: ‘q’uit}
Q Stopt ed onvoorwaardelijk. Dit is gelijk aan de q opdracht,
behalve dat niet weggeschreven veranderingen worden genegeerd
zonder waarschuwing.
($)r BESTAND
Leest BESTAND in na de geadresseerde regel. Als BESTAND niet
wordt opgegeven, dan wordt de huidige bestandnaam gebruikt. Als
er geen huidige bestandnaam bestaat vóór de opdracht dan wordt
de huidige bestandnaam gezet naar file. Anders blijft de
huidige bestandnaam onveranderd. Het huidige adres wordt gezet
naar de laatste ingelezen regel.
($)r !OPDRACHT
Leest de standaard uitvoer van ‘!OPDRACHT’inachterdegead‐
resseerderegel" (zie !OPDRACHT onder). De huidige bestandnaam
blijft onveranderd. Het huidige adres wordt gezet naar de
laatste ingelezen regel.
(.,.)s/RE/VERVANGING/
(.,.)s/RE/VERVANGING/g
(.,.)s/RE/VERVANGING/n
Vervangt tekst in de geadresseerde regels die een reguliere
expressie RE past met VERVANGING. Standaard wordt alleen de
eerste overeenkomst op elke regel vervangen. Als het ‘g’
(globaal) achtervoegsel wordt gegeven dan wordt elke
overeenkomst vervangen. Het ‘n’ achtervoegsel, waar n een
positief getal is, zorgt dat alleen de nde overeenkomst wordt
vervangen. Het is een fout als geen enkele vervanging wordt
uitgevoerd op de geadresseerde regels. Het huidige adres wordt
gezet naar de laatste beïnvloedde regel.
RE En VERVANGING mogen worden begrensd door elk karakter
behalve spatie of nieuweregel (zie de ‘s’ opdracht onder). Als
één of twee van de laatste begrenzers worden weggelaten, dan
wordt de laatste beïnvloedde regel afgedrukt alsof het
afdrukken achtervoegsel ‘p’ werd opgegeven. {eng: ‘s’ubstitute}
Een ongeëscape’te ‘&’ in VERVANGING wordt ingeruild voor de
momenteel gepaste tekst. De karakter-opeenvolging ‘\M’, waar M
een getal in het interval [1,9] is, wordt ingeruild door de Mde
terugverwijzing-expressie in de gepaste tekst. Als VERVANGING
bestaat uit een enkele ‘%’, dan wordt de VERVANGING van de
laatste vervanging gebruikt. Nieuweregels mogen worden ingebed
in VERVANGING als ze worden geëscape’t met een backslash (\).
(.,.)s Herhaald de laatste vervanging. Deze vorm van de ‘s’ opdracht
accepteert een tel achtervoegsel ‘N’, of enige combinatie van
de karakters ‘r’, ‘g’, en ‘p’. Als een tel achtervoegsel ‘N’
werd gegeven, dan wordt alleen de Nde overeenkomst vervangen.
Het ‘r’ achtervoegsel zorgt dat de reguliere expressie van de
laatste zoekopdracht wordt gebruikt in plaats van die van de
laatste substitutie. Het ‘g’ achtervoegsel zet het ‘globaal’
achtervoegsel van de laatste vervanging aan en uit. Het ‘p’
achtervoegsel zet het afdrukken achtervoegsel van de laatste
vervanging aan en uit. Het huidige adres wordt gezet naar de
laatste beïnvloedde regel.
(.,.)t(.)
Kopiëert de geadresseerde regels naar na het rechterhand doel-
adres, wat het adres 0 (nul) mag zijn. Het huidige adres wordt
gezet naar de laatste gekopieerde regel. {eng: ‘t’ransfer}
u Maakt de laatste opdracht ongedaan en hersteld het huidige
adres naar wat het vóór de opdracht was. De globale opdrachten
‘g’, ‘G’, ‘v’, en ‘V’, worden als een enkele opdracht behandeld
door ongedaan-maken. {eng: ‘u’ndo} ‘u’ Is zijn eigen omge‐
keerde.
(1,$)v/RE/OPDRACHTENLIJST
Past OPDRACHTENLIJST toe op elk van de geadresseerde regels
niet gepast door een reguliere expressie RE. Dit lijkt op de
‘g’ opdracht.
(1,$)V/RE/
Bewerk interactief de geadresseerde regels niet gepast door de
reguliere expressie RE. Dit lijkt op de ‘G’ opdracht.
(1,$)w BESTAND
Schrijf de geadresseerde regels naar BESTAND. Aanwezige
(eerdere) inhoud van BESTAND is verloren zonder waarschuwing.
Als er geen huidige bestandnaam is dan wordt de huidige
bestandnaam gezet naar file, anders blijft het onveranderd. Als
geen bestandnaam wordt opgegeven dan wordt de huidige bestand‐
naam gebruikt. Het huidige adres blijft onveranderd. {eng:
‘w’rite}
(1,$)wq BESTAND
Schrijft de geadresseerde regels naar BESTAND, en voert dan de
‘q’ opdracht uit.
(1,$)w !OPDRACHT
Schrijft de geadresseerde regels naar de standaard invoer van
‘!OPDRACHT’, (zie de !OPDRACHT onder). De huidige bestandnaam
en het huidige adres blijven onveranderd.
(1,$)W BESTAND
Voegt de geadresseerde regels toe aan het einde van BESTAND.
Dit lijkt op de ‘w’ opdracht, behalve dat de de vorige inhoud
van het bestand niet wordt overschreven. Het huidige adres bli‐
jft onveranderd.
(.)x Kopiëert (zet) de inhoud van de knip buffer achter de gead‐
resseerde regel. Het huidige adres wordt gezet naar de laatste
gekopieerde regel.
(.,.)y Kopiëert (trekt) de geadresseerde regels in de knip buffer. De
knip buffer wordt steeds overschreven door ‘y’, ‘s’, ‘j’, ‘d’,
en ‘c’ opdrachten. Het huidige adres blijft onveranderd. {eng:
‘y’ank}
(.+1)zN Rolt N regels per keer over het scherm startend bij de gead‐
resseerde regel. Als N niet is gegeven dan wordt de huidige
venster grootte gebruikt. Het huidige adres wordt gezet naar de
laatste afgedrukte regel.
!OPDRACHT
Voert OPDRACHT uit via sh(1). Als het eerste karakter van
OPDRACHT ‘!’ is dan wordt het vervangen door de tekst van de
vorige ‘!OPDRACHT’. ed Verwerkt OPDRACHT niet op (\) escapes.
Echter, een ongeëscape’te ‘%’ wordt vervangen door de huidige
bestandnaam. Wanneer de shell terugkeert van het uitvoeren
wordt een ‘!’ afgedrukt op de standaard uitvoer. De huidige
regel blijft onveranderd.
(.,.)# Begint commentaar; de rest van de regel, tot aan een nieuw‐
eregel wordt genegeerd. Als een regel-adres gevolgd door een
puntkomma gegeven wordt dan wordt het huidige adres gezet naar
dat adres. Anders blijft het huidige adres onveranderd.
($)= Druk het regelnummer af van de geadresseerde regel.
(.+1)nieuweregel
Druk de geadresseerde regel af, en zet het huidige adres naar
die regel.
BESTANDEN
/tmp/ed.* Buffer bestand
ed.hup Het bestand waarnaar ed zijn buffer probeert weg te
schrijven als de terminal ophangt.
vi(1), sed(1), regex(3), sh(1).
USD:12-13
B. W. Kernighan and P. J. Plauger, Software Tools in Pascal, Addison-
Wesley, 1981.
BEPERKINGEN
ed Verwerkt BESTAND argumenten op backslash escapes, dat is: in een
bestandnaam: alle karakters voorafgegaan door een backslash (\) worden
letterlijk uitgelegd.
Als een tekst (niet-binair) bestand niet eindigt met een nieuweregel
karakter, dan voegt ed er één aan toe bij het lezen/schrijven. Bij een
binair bestand voegt ed geen nieuweregel toe bij lezen/schrijven.
extra hulpbronnen per regel: 4 ints
DIAGNOSE
Wanneer een fout optreedt, en als ed’s invoer komt van een regulier
bestand of hier document, dat eindigt het, anders drukt het een ‘?’ af
en keert terug naar opdracht-toestand. Uitleg over de laatste fout kan
afgedrukt worden met de ‘h’ (hulp) opdracht.
Proberen ed te stoppen of een ander bestand gaan bewerken voordat een
veranderde buffer werd weggeschreven resulteert in een fout. Als de
opdracht een tweede keer wordt gegeven slaagt het, maar aanwezige
veranderingen in de buffer zijn verloren.
ed Eindigt met 0 als geen fouten optraden; anders >0.
VERTALING
Dit is de handleiding van ed 0.2. Bijna alles wat tussen ‘{’..‘}’
staat is aanvullende vertaling, en hoort niet bij de originele handlei‐
ding; alleen onder REGULIERE EXPRESSIES worden ‘{’ en ‘}’ ook gebruikt.
Email naar <manpages-nl@nl.linux.org>.
$Id: ed.1,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $
10 November 1994 ED(1)