[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: elvis-tiny, vi, vim



Bonjour,

Il y a quelques semaines, Stéphane Leclerc a écrit ceci:

> C'est bizarre quand même que vi ou vim ne supporte pas :
> 
> /usr/bin/elvis-tiny $FILE 2>&1 >/dev/null <<!END
> :g/$OLD/s//$NEW/g
> :x
> !END

Je viens tout juste de lire ce message, puisque j'ai été parti pendant
deux semaines et que je n'ai toujours pas eu le temps de rattraper mon
courrier en retard...

Dans un script, il est inutile d'appeler vi, vim, elvis à la place de
ex, puisque vi, vim et elvis sont conçu pour un usage interactif et que
le seul mode accessible dans un script sera le mode ex.  Autant
l'utiliser directement:

ex -s $FILE <<!END
:g/$OLD/s//$NEW/g
:x
!END

L'option -s dit à ex de ne rien afficher.  Il ne fait que modifier le
fichier.

Contrairement à ceux qui suggèrent d'utiliser sed à la place de vi ou
ex, je crois qu'il est mieux, dans ce cas-ci, d'utiliser ex, puisqu'on
veut écraser le fichier original.  Avec sed, on est alors obligé
d'écraser l'original avec le fichier de sortie de sed à l'aide de mv.

En ce qui concerne perl, je crois que ex va se charger en mémoire plus
vite.  Je ne vois donc pas l'intérêt d'utiliser perl pour une simple
substitution.  Surtout si on ne maîtrise pas perl au préalable...

-- 
Michel Béland                 beland@CERCA.UMontreal.CA
professionnel de recherche    tél: (514) 369-5223  fax: (514) 369-3880
CERCA (Centre de recherche en calcul appliqué)
5160, boul. Décarie, bureau 400(423), Montréal (Québec), Canada, H3X 2H9



Reply to: