ed (logiciel)

ed (logiciel)
Page d'aide sur l'homonymie Pour l’article homonyme, voir ED

ed est un éditeur de texte ligne par ligne pour systèmes Unix. Ce n'est pas un éditeur de texte visuel dans le sens où il ne montre pas le texte en cours d'édition. L'interface de ce logiciel est entièrement textuelle.

GNU ed est l'implémentation GNU de l'éditeur ed.

Sommaire

Historique

ed a été écrit à l'origine par Ken Thompson. Il a implémenté les expressions rationnelles dans ed pour la première fois. Avant cette implémentation, le concept des expressions rationnelles n'était formalisé que dans des publications mathématiques, que Ken Thompson avait lues.

ed a été influencé par un précédent éditeur de l'université de Berkeley, Californie (dans laquelle Ken Thompson a été diplômé), appelé QED. ed a par la suite influencé l'éditeur ex, qui a son tour a conduit à vi. Les commandes Unix non-interactives grep et sed ont été inspirées par certaines utilisations spécifiques mais habituelles de ed. Leur influence est visible dans la conception de langages de programmation tels que awk, qui a lui-même inspiré certains aspects de Perl.

Connu pour son laconisme, ed ne propose pratiquement aucun retour visuel. Par exemple, le message produit lors d'une erreur, ou quand ed veut s'assurer que vous voulez quitter sans enregistrer, est "?". Il n'indique pas le nom du fichier en cours d'édition ou le numéro de la ligne, et ne montre pas le texte résultant d'une modification, à moins d'une demande explicite. Cette pauvreté était tout à fait adaptée aux premières versions d'Unix, quand les consoles étaient des télétypes, les modems étaient lents et les disques durs et RAM étaient onéreux. Mais cet avantage a cessé lorsque les éditeurs interactifs sont devenus la norme.

À présent, ed est rarement utilisé de façon interactive, il trouve surtout des applications dans des scripts shell. En mode interactif, ed a laissé la place aux éditeurs sam, vi et emacs dans les années 1980. ed est disponible sur pratiquement toutes les versions d'Unix et de GNU/Linux. Les personnes qui travaillent avec différentes versions d'Unix connaissent souvent les commandes les plus basiques de ed. En cas de problème, et si le système d'exploitation n'est pas au mieux, ed est parfois le seul éditeur fonctionnel. C'est probablement le seul cas où ed est encore utilisé de manière interactive, à l'exception peut-être des TD des étudiants de première année.

Les commandes ed sont fréquemment imitées dans les autres éditeurs travaillant ligne par ligne. Par exemple, EDLIN, disponible dans les premières versions de MS-DOS, possède une syntaxe similaire, et les éditeurs de texte de nombreux MUD (LPMud et ses descendants par exemple) utilisent une syntaxe semblable à celle de ed. Toutefois, la majorité de ces éditeurs sont limités fonctionnellement.

Exemple de session interactive

Afin d'illustrer le principe de fonctionnement, voici la transcription d'une session ed. Les caractères gras sont ceux produits par ed, les autres caractères ont été tapés par l'utilisateur :

a
ed est l'editeur standard Unix.
Voici la ligne numero deux.
.
2i
 
.
1,$l
ed est l'editeur standard Unix.$
$
Voici la ligne numero deux.$
3s/deux/trois/
1,$l
ed est l'editeur standard Unix.$
$
Voici la ligne numero trois.$
w texte
65
q

Le résultat est un fichier texte contenant le texte suivant :

ed est l'editeur standard Unix.
  
Voici la ligne numero trois.

Explication de l'exemple

Cette session débute avec un fichier vide. La commande a ajoute du texte (toutes les commandes de ed sont composées d'une seule lettre). Cette commande place l'éditeur en mode insertion, qui ne prendra fin qu'avec un point saisi seul sur une ligne. Ainsi, les deux lignes saisies avant le point isolé sont dans le tampon du fichier. La commande 2i passe en mode insertion et permet d'insérer du texte (une seule ligne dans cet exemple) avant la ligne numéro 2. Chaque commande peut être préfixée par un numéro de ligne, ce qui la fait agir sur cette ligne.

Dans la commande 1,$l, le l représente la commande list. Cette commande a été préfixée par une plage de lignes, c'est-à-dire deux numéros de ligne séparés par une virgule ($ représente la dernière ligne). En retour, ed donne la liste des toutes les lignes, de la première à la dernière. Ces lignes prennent fin avec le symbole $, afin que les espaces situés en fin de ligne soient visibles.

La commande 3s/deux/trois/ est une commande de substitution (s) appliquée sur la ligne numéro 3. La commande est ensuite composée du texte à remplacer (deux) et du texte à mettre à sa place (trois). Puis les lignes sont à nouveau affichées avec la commande 1,$l, afin de s'assurer que la substitution a bien été effectuée.

La commande w texte écrit le contenu du tampon dans le fichier "texte". ed répond alors 65, qui correspond au nombre de caractères qu'il a écrit dans le fichier. q indique à ed que la session prend fin.

Bill Joy, vi, et ed

Dans la guerre des éditeurs, les partisans d'emacs disaient que "Même Bill Joy n'utilise plus vi."

Dans une entrevue de 1985, Bill Joy expliquait que, chez Sun, il utilisait un nouveau programme de publication, appelé interleaf. Lors de visites hors de laboratoires de Sun, il utilisait le bon vieux ed. Malgré l'omniprésence de vi, il ne parvenait jamais à trouver une version qui fonctionne de la manière dont il voulait. Comme ed n'a jamais été modifié, il pouvait compter sur lui pour travailler, sans passer pour un débutant.

Implémentations

GNU ed

GNU ed[1] est l'implémentation de l'éditeur ed par le projet GNU[2]. C'est un logiciel libre distribué sous licence GNU GPL.

Notes et références

  1. (en) GNU Ed 1.5 réalisé le 6 septembre 2010.
  2. (en) Site officiel de GNU ed

Voir aussi

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article ed (logiciel) de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Logiciel Libre — Un logiciel libre est un logiciel dont la licence dite libre donne à chacun (et sans contrepartie) le droit d utiliser, d étudier, de modifier, de dupliquer, et de diffuser (donner et vendre) le dit logiciel. Richard Stallman a formalisé la… …   Wikipédia en Français

  • Logiciel Propriétaire — La notion de logiciel propriétaire ou logiciel privateur désigne le logiciel qui n est pas un logiciel libre. L apparition de cette distinction est donc lié à l histoire du logiciel libre. Un logiciel est dit propriétaire s il entrave une des… …   Wikipédia en Français

  • Logiciel non libre — Logiciel propriétaire La notion de logiciel propriétaire ou logiciel privateur désigne le logiciel qui n est pas un logiciel libre. L apparition de cette distinction est donc lié à l histoire du logiciel libre. Un logiciel est dit propriétaire s… …   Wikipédia en Français

  • Logiciel privateur — Logiciel propriétaire La notion de logiciel propriétaire ou logiciel privateur désigne le logiciel qui n est pas un logiciel libre. L apparition de cette distinction est donc lié à l histoire du logiciel libre. Un logiciel est dit propriétaire s… …   Wikipédia en Français

  • Logiciel proprietaire — Logiciel propriétaire La notion de logiciel propriétaire ou logiciel privateur désigne le logiciel qui n est pas un logiciel libre. L apparition de cette distinction est donc lié à l histoire du logiciel libre. Un logiciel est dit propriétaire s… …   Wikipédia en Français

  • Logiciel sport — Logiciel Chaîne de production d un logiciel En informatique, un logiciel est un ensemble d informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement, regroupées… …   Wikipédia en Français

  • Logiciel de Filtrage — DansGuardian blocking whitehouse.com. Un logiciel de contrôle de contenu (en anglais content control software[1 …   Wikipédia en Français

  • logiciel — logiciel, ielle [ lɔʒisjɛl ] n. m. et adj. • v. 1970; de logique, d apr. matériel ♦ Ensemble des programmes et des procédures nécessaires au fonctionnement d un système informatique (opposé à matériel).Recomm. offic. pour software. Logiciel d… …   Encyclopédie Universelle

  • Logiciel Malveillant — Cet article fait partie de la série Programmes malveillants Virus Cabir MyDoom.A Tchernobyl …   Wikipédia en Français

  • Logiciel Espion — Cet article fait partie de la série Programmes malveillants Virus Cabir MyDoom.A Tchernobyl …   Wikipédia en Français

  • Logiciel Abandonné — Logo utilisé par le site Abandonware definition.org, détou …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”