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)