Ce bon vieux ed

Découvrez l'éditeur historique d'Unix

a marqué ce sujet comme résolu.

Bonjour à tous,

Cela faisait bien longtemps que je voulais rédiger un tuto sur la bonne veille commande ed, c’est désormais chose faite. :D
N’hésitez pas si vous avez des idées d’amélioration, d’exemple ou d’exercice, je suis preneur. ;)

Par avance, merci pour votre aide. :)

+8 -0

Merci pour ce document !

Je précise que c’est bien la première fois que j’utilise ed, mais je suis en revanche familier des outils Unix en général, notamment Vim, ce qui me facilite peut-être la lecture.

En suivant ton tutoriel (les 3/4, pour le moment), je me suis bien amusé avec ed, je n’ai pas trouvé de difficulté particulière qui pourrait bloquer la compréhension (du moins pas à durant cette première lecture). Je reviendrai peut-être avec d’autres retours sur le fond quand j’aurai fini le dernier quart.

Le seul point que j’aurais à soulever pour le moment est le suivant :

Toutefois, connaissez-vous ed, l’éditeur historique d’Unix ? S’il peut sembler désuet et/ou austère aujourd’hui, notamment dû au fait qu’il n’a pas d’interface WYSIWYG, il reste un outil parfois précieux qui vaut la peine d’être découvert.

Oui, justement, il peut sembler désuet et le lecteur se demandera sûrement pourquoi il aurait intérêt à s’attarder dessus. Je ne suis pas sûr que la réponse soit convaincante : pourquoi reste-t-il un outil précieux ? Y a-t-il des cas d’usages particuliers pour lesquels un éditeur WYSIWYG n’est pas adapté (l’usage dans des scripts, peut-être) ?

Ou alors est-ce que l’intérêt de découvrir ed ne réside que dans l’érudition du lecteur, sa culture technique/historique et son simple plaisir d’apprendre ou de s’amuser ? — ce qui reste un motif parfaitement valable à mon sens. :)

Merci pour ton travail !

+5 -0

Je précise que c’est bien la première fois que j’utilise ed, mais je suis en revanche familier des outils Unix en général, notamment Vim, ce qui me facilite peut-être la lecture.

En suivant ton tutoriel (les 3/4, pour le moment), je me suis bien amusé avec ed, je n’ai pas trouvé de difficulté particulière qui pourrait bloquer la compréhension (du moins pas à durant cette première lecture). Je reviendrai peut-être avec d’autres retours sur le fond quand j’aurai fini le dernier quart.

sgble

Je ne m’attendais pas à un retour aussi rapidement, un grand merci. :D
Je suis heureux de lire que le tout est a priori compréhensible.

Oui, justement, il peut sembler désuet et le lecteur se demandera sûrement pourquoi il aurait intérêt à s’attarder dessus. Je ne suis pas sûr que la réponse soit convaincante : pourquoi reste-t-il un outil précieux ? Y a-t-il des cas d’usages particuliers pour lesquels un éditeur WYSIWYG n’est pas adapté (l’usage dans des scripts, peut-être) ?

Ou alors est-ce que l’intérêt de découvrir ed ne réside que dans l’érudition du lecteur, sa culture technique/historique et son simple plaisir d’apprendre ou de s’amuser ? — ce qui reste un motif parfaitement valable à mon sens. :)

sgble

Sur le plan technique, à mon sens, le seul moment où ed est intéressant c’est quand une connexion SSH est genre bien pourrie ou quand l’affichage du terminal est bogué. Là, avoir un éditeur qui se contente de lire depuis l’entrée standard, c’est effectivement utile.

Un autre point, nettement plus rare de nos jours, ce serait un manque de RAM pour charger un (très) gros fichier. Ce sera lent avec n’importe quel éditeur, mais ed (en tous les cas, les versions fournies par les projets GNU et OpenBSD) ne conserve en RAM qu’une liste chaînée dont chaque nœud référence la position de chaque ligne. Le contenu est stocké dans un fichier temporaire.

Enfin, mais là c’est une question de préférence : il n’y a pas de fichier de config. Peu importe sur quel serveur il est utilisé, le comportement attendu sera le même (pas de type qui s’amuse à activer des options reloues globalement ou autre).

Édit : sinon, il est effectivement possible de l’utiliser via des scripts. En un sens, c’est ce que fait la commande diff -e. ^^

+1 -0

Pfou !
J’ai cru que tu parlais d'Emmanuel Delahaye ! x)

Je sens que je vais aimé, même si j’utilise plus sed (parfois) que ed (JAMAIS).

Je commence à lire ce soir.

+0 -0

J’ai cru que tu parlais d'Emmanuel Delahaye ! x)

ache

Ha ha ! xD
C’est vrai que j’aurai pu, c’est aussi « le bon vieux ed » côté C. :p

Je sens que je vais aimé, même si j’utilise plus sed (parfois) que ed (JAMAIS).

ache

Les deux ont leur intérêt. L’avantage d'ed c’est de ne pas fonctionner en une seule passe comme sed, qui ne lit qu’une seule fois le fichier, comme un flux de données. :)

+0 -0

Les deux ont leur intérêt. L’avantage d’ed c’est de ne pas fonctionner en une seule passe comme sed, qui ne lit qu’une seule fois le fichier, comme un flux de données. :)

Son intérêt c’était surtout que comme il ne repose pas sur une interface utilisateur permanente, il peut être exploitée avec une sortie imprimante au lieu d’un écran. :-°

Mais tu sais Taurre, aujourd’hui on peut afficher le texte dans un éditeur coloré en 8K pour éviter de devoir faire des changements dans le code de tête. :D

+0 -0

Son intérêt c’était surtout que comme il ne repose pas sur une interface utilisateur permanente, il peut être exploité avec une sortie imprimante au lieu d’un écran. :-°

Renault

Il y a ça aussi, en effet. ^^

Mais tu sais Taurre, aujourd’hui on peut afficher le texte dans un éditeur coloré en 8K pour éviter de devoir faire des changements dans le code de tête. :D

Renault

Peut-être, mais c’est tellement moins drôle. :p

+1 -0

Salut,

J’ai relu la bêta et ça me semble assez clair dans l’ensemble, j’ai bien aimé découvrir un cours sur ce vieil éditeur que je n’avais jamais eu l’occasion d’utiliser. J’ai cependant relevé quelques points.

  • Tu es parfois un peu flou sur les intervalles : quand tu introduis 1,+2 on ne sait pas d’où vient ce + et si c’est différent de 1,2 (bien que ce soit explicité dans les paragraphes qui suivent).
    Je ne pensais pas non plus que l’on pouvait faire de l’arithmétique sur les numéros de ligne et donc je n’ai découvert que /./-1 était un numéro de ligne valide que dans la solution du dernier exercice.
  • Aussi sur les arguments des commandes, comme tu n’illustres que la commande i, j’ai d’abord cru que a ne pouvait s’appliquer que sans argument, à la fin du fichier.

Enfin deux petites coquilles :

  • Dans l’exemple sur la commande l, tu as oublié le l après ton ed citation.txt.
  • Tu as écrit « Vous aurez sans doute remarquez »

Un grand merci pour avoir pris le temps de parcourir le tuto et pour tes remarques. :)

  • Tu es parfois un peu flou sur les intervalles : quand tu introduis 1,+2 on ne sait pas d’où vient ce + et si c’est différent de 1,2 (bien que ce soit explicité dans les paragraphes qui suivent).
    Je ne pensais pas non plus que l’on pouvait faire de l’arithmétique sur les numéros de ligne et donc je n’ai découvert que /./-1 était un numéro de ligne valide que dans la solution du dernier exercice.
entwanne

C’est bien vu, je viens d’ajouter un point concernant l’arithmétique des numéros de lignes dans la section sur la ligne courante.

  • Aussi sur les arguments des commandes, comme tu n’illustres que la commande i, j’ai d’abord cru que a ne pouvait s’appliquer que sans argument, à la fin du fichier.
entwanne

De ce côté, la structure des commandes d'ed est exposée dès le début dans un paragraphe « info » de la section « Premiers pas » (il y est précisé que sauf exception chaque commande peut-être précédée par un numéro de ligne ou un intervalle de lignes) et également, il est bien précisé la fonction de la commande a dans la section « Ajout, insertion, modification et suppression ».

Cela étant dit, j’ai adapté le premier exemple de la section « Ajout, insertion, modification et suppression » histoire d’aussi utiliser un numéro de ligne avec a.

Enfin deux petites coquilles :

  • Dans l’exemple sur la commande l, tu as oublié le l après ton ed citation.txt.
  • Tu as écrit « Vous aurez sans doute remarquez »
entwanne

C’est corrigé, merci. ;)

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte