OVH Cloud OVH Cloud

commande vi

6 réponses
Avatar
fabien bret
bonjour je voudrais remplacer "ancien" mot (il apparait une centaine de
fois) par "nouveau" mot dans un fichier texte. Quelqu'un peut il
m'indiquer une ligne de commande permettant de faire cela à l'aide de vi.
merci

6 réponses

Avatar
manu
"fabien bret" a écrit dans le message de news:
432413fa$0$14546$
bonjour je voudrais remplacer "ancien" mot (il apparait une centaine de
fois) par "nouveau" mot dans un fichier texte. Quelqu'un peut il
m'indiquer une ligne de commande permettant de faire cela à l'aide de vi.
merci


Bonjour,

Pourquoi vi ?

cat lefichier.txt | sed s/'ancien'/'nouveau'/g >lenouveaufichier.txt

Emmanuel.

Avatar
Yannick Patois
fabien bret wrote:
bonjour je voudrais remplacer "ancien" mot (il apparait une centaine de
fois) par "nouveau" mot dans un fichier texte. Quelqu'un peut il
m'indiquer une ligne de commande permettant de faire cela à l'aide de vi.


Sauf erreur:

:.,$s/ancien/nouveau/g

Note:
- On est bien sur en mode commande (on a donc tappé la touche [Echap] avant.
- Le curseur est au début du fichier (sinon, ca ne remplacera que de la
ligne courant, je crois).

: : commande
.,$ : d'ici à la fin
s/ancien/nouveau/ : remplacer
g : remplacer plusieurs fois sur la meme ligne si
necessaire

Bon, je suis pas un accro de vi, donc si j'ai fais erreur...

Yannick

--
_/ Yannick Patois ___________________________________________________
| web: http://feelingsurfer.net/garp/ | Garp sur irc undernet |
| email: | |
| http://rezo.net |

Avatar
TiChou
Dans le message <news:432419bb$0$31015$,
*manu* tapota sur f.c.o.l.configuration :

cat lefichier.txt | sed s/'ancien'/'nouveau'/g >lenouveaufichier.txt


Mon dieu ! Quel affreux UUoC !

--
TiChou

Avatar
TiChou
Dans le message <news:432413fa$0$14546$,
*fabien bret* tapota sur f.c.o.l.configuration :

bonjour


Bonjour,

je voudrais remplacer "ancien" mot (il apparait une centaine de fois) par
"nouveau" mot dans un fichier texte. Quelqu'un peut il m'indiquer une
ligne de commande permettant de faire cela à l'aide de vi.


Oui, pourquoi avec vi et pas plus simplement avec sed ou perl ?

$ vi -c '%s/ancien/nouveau/ge|wq' fichier

$ sed -i~ -p 's/ancien/nouveau/g' fichier

$ perl -i~ -p -e 's/ancien/nouveau/g' fichier

merci


Pas de quoi.

--
TiChou

Avatar
TiChou
(Supersedes <news:)

Dans le message <news:432413fa$0$14546$,
*fabien bret* tapota sur f.c.o.l.configuration :

bonjour


Bonjour,

je voudrais remplacer "ancien" mot (il apparait une centaine de fois) par
"nouveau" mot dans un fichier texte. Quelqu'un peut il m'indiquer une
ligne de commande permettant de faire cela à l'aide de vi.


Oui, pourquoi avec vi et pas plus simplement avec sed ou perl ?

$ vi -c '%s/ancien/nouveau/ge|wq' fichier

$ sed -i~ 's/ancien/nouveau/g' fichier

$ perl -i~ -p -e 's/ancien/nouveau/g' fichier

merci


Pas de quoi.

--
TiChou

Avatar
fabien bret
bonjour je voudrais remplacer "ancien" mot (il apparait une centaine de
fois) par "nouveau" mot dans un fichier texte. Quelqu'un peut il
m'indiquer une ligne de commande permettant de faire cela à l'aide de vi.
merci


merci pour vos réponses
ce qui fonctionne dans mon cas:
1) :.,$s/ancien/nouveau/g
2) $ vi -c '%s/ancien/nouveau/ge|wq' fichier
3) $ perl -i~ -p -e 's/ancien/nouveau/g' fichier

mais
4) $ sed -i~ 's/ancien/nouveau/g' fichier
5) cat lefichier.txt | sed s/'ancien'/'nouveau'/g >lenouveaufichier.txt
ne fonctionnent pas