Fichier de commandes pour éditeur vi

Résolu
solex81 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
solex81 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
je voudrais exécuter l'éditeur vi sur un ensemble de fichiers en faisant exécuter des commandes contenues dans un fichier (dans le cas présent substitutions de chaines de caractères). cela m'éviterait le caractère fastidieux de ces modifs.
quelqu'un connait-il la solution ?
merci.
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Et pourquoi pas un script (ou une ligne de commande) avec "sed" ?
Que veux-tu faire exactement ?
0
solex81 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Jipicy

voilà mon problème:

j'ai une grosse centaine de programmes en SQL dans lesquels j'ai des chaines de caractères à modifier,
du genre truc05 en truc06, bidulea en biduleb
et ceci n'importe où dans mes programmes
j'utilise (par exemple) la commande :1,$s/truc05/truc06/
puis la commande :1,$s/bidulea/biduleb/
je voulais mettre ces deux commandes dans un fichier 'toto'
et faire ensuite vi *.sql et faire exécuter le contenu de toto de manière automatique

je ne connais pas sed ; serait-ce une solution ?

merci à toi
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

Bon tu devrais trouver dans cette doc matières à exécuter ton projet.

Quant à "sed", avant d'aller plus loin, il faudrait savoir quelle version est installée sur ton serveur "unix" ? (sed -v ou sed --version)

Sinon voici un aperçu de ce qu'on peut faire avec :
[jp@MDK tmpfs]$ ls

fich1.txt  fich2.txt  fich3.txt  fich4.txt

[jp@MDK tmpfs]$ cat fich*

Bonjour A
Bonjour B
Bonjour C

Bonjour A
Bonjour B
Bonjour C

Bonjour A
Bonjour B
Bonjour C

Bonjour A
Bonjour B
Bonjour C

[jp@MDK tmpfs]$ sed 's/Bonjour C/Au revoir C/' fich*

Bonjour A
Bonjour B
Au revoir C

Bonjour A
Bonjour B
Au revoir C

Bonjour A
Bonjour B
Au revoir C

Bonjour A
Bonjour B
Au revoir C

[jp@MDK tmpfs]$
;-))
0
solex81 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Re re

Merci beaucoup, j'ai pu me débrouiller avec l'éditeur "sed"
en créant un fichier de commandes TOTO qui contenait ceci:

s/bonjour A/au revoir A/g
s/bonjour B/au revoir B/g
s/bonjour C/au revoir C/g

et en faisant un script en UNIX nommé TITI
avec 2 lignes pour chaque fichier à modifier:

sed -f TOTO fich1.txt> tatave.tmp
mv tatave.tmp fich1.txt

c'est un peu long pour faire le fichier TITI mais la prochaine fois ce sera beaucoup plus facile...

merci encore et prends soin de toi
0