Ed
L'editor di testo ed è stato lo standard originale per gli editor sul sistema operativo Unix. Fu influenzato da un editor precedente conosciuto come qed e influenzò a sua volta ex, dal quale derivò vi.Nella pratica corrente non viene usato quasi mai in maniera interattiva ma trova alcuni usi negli script di shell. Per un uso interattivo, ed è stato rimpiazzato negli anni 80 da vi e emacs. ed si può trovare virtualmente in ogni versione di Unix e Linux disponibile; spesso chi ha a che fare con più versioni di Unix conosce almeno i comandi base di ed.
La sintassi di ed ha influenzato svariati programmi per Unix come sed, awk e grep, oltre che il linguaggio di programmazione Perl.
Famoso per la sua sintassi concisa, ed non ha quasi riscontro visuale. Per esempio, il messaggio che ed produce in caso di errore o quando vuole assicurarsi che l'utente intenda uscire senza salvare è "?". Non riporta il nome del file corrente o il numero di linea, a meno di non richiederlo.
Questa sintassi era appropriata nelle prime versioni di Unix, quando le console erano stampanti. I modem erano lenti, e lo spazio su disco e la memoria erano preziosi. Questi vantaggi cessarono di essere tali quando editor più interattivi divennero lo standard.
Nell'esempio si parte con un file vuoto e si usa a per inserire testo (tutti i comandi di ed sono singole lettere). Questo ci porta nel modo di inserimento, che termina inserendo un singolo punto in una linea. Le due linee inserite prima del punto vengono immesse nel buffer del file. 2i porta al modo di inserimento e inserisce il testo seguente (* nell'esempio) prima della riga due. Tutti i comandi possono essere prefissi con un numero di linea per indicare di operare su quella riga.
In 1,$l il carattere l sta per il comando list. Questa volta preponiamo al comando una gamma, indicando le due linee limite separandole con una virgola ($ indica l'ultima riga). ed mostra quindi tutte le righe dalla prima all'ultima. Queste righe finiscono con il simbolo del dollaro, in maniera che il fine linea sia chiaramente visibile.
In seguito viene corretto l'errore nella linea 3 con 3s/two/three/, un comando di sostituzione. Il 3 indica la linea in cui effettuare il comando s, seguono il testo da rimpiazzare e il rimpiazzo. Stampando tutte le linee con 1,$1 vediamo che la linea adesso è corretta.
w text scrive il buffer nel file "text". ed risponde con 66, che è il numero di caratteri scritti nel file. q chiude la sessione.Sessione di esempio
Ecco la trascrizione di una sessione di esempio di ed:a
ed is the standard Unix text editor.
This is line number two.
.
2i
*
.
1,$l
ed is the standard Unix text editor.$
*$
This is line number two.$
3s/two/three/
1,$l
ed is the standard Unix text editor.$
*$
This is line number three.$
w text
66
q
Spiegazione dell'esempio