Re: [SHELL] remplacer un caractère dans une sous-chaine
Sylvain Sauvage a écrit, vendredi 21 décembre 2007, à 10:31 :
> Jacques L'helgoualc'h, jeudi 20 décembre 2007, 22:05:14 CET
> > [...] Sed connaît la négation /motif/!,
>
> Ah oui, tiens. On ne lit jamais assez bien les docs.
Justement, « info sed » est bien l'une des rares documentations qu'on
peut lire d'un bout à l'autre... Bon, aller fouiner aussi sur
http://sed.sf.net/ peut aider.
> > > Mais ça devient très lourd à gérer avec sed. Il vaudrait
> > > vraiment passer à un vrai langage (Ruby, Perl???).
> >
> > Sed est Turing-complet, mécréant !
>
> Argument facile : c???est une chose d???avoir une machine de
> Turing, c???en est une autre d???écrire des programmes utiles avec.
Le problème avec Sed, ce n'est pas l'utilité --- plutôt la lisibilité :/
[...]
> Gestion des [] imbriqués ? :oP
Si la profondeur reste raisonnable et limitée, c'est possible, mais vite
lourd : la récursivité n'est certes pas un point fort de Sed.
Dans le problème posé, il serait sans doute plus expéditif de corriger
les quelques mots erronés qui peuvent apparaître, s'ils ne sont pas trop
nombreux :
~ $ echo 'Perm ission crit ical perm ission' |
> ]sed -e 's/\(perm\)[[:space:]]\+ission/\1ission/ig
> ]s/\(crit\)[[:space:]]\+ical/\1ical/ig'
Permission critical permission
> > 3/ Recoller les morceaux... (en exercice :)
>
> Ah, ah, la technique habituelle des profs quand ça devient
> scabreux : « en exercice », « c???est trivial »???
Ici, ça n'a rien de très scabreux.
> Je préfère le « vous verrez ça l???année prochaine » :o)
Il y a un précédent bien connu, où la marge n'était pas assez grande :)
Réponse(s) vendredi prochain.
--
Jacques L'helgoualc'h
Reply to: