Forum Programmation.shell Substitution avec vi

Posté par .
Tags : aucun
2
25
sept.
2008
Bonjour,

Je faire une substitution générale d'un mot par un autre dans fichier avec la commande suivante :
vi -c g/mot1/s//mot2/g fichier


Cela fonctionne mais vi reste ouvert. Comment pourrais je faire pour sauvegarder le fichier et quitter vi dans la même ligne de commande que j'ai mentionnée ?

Merci de votre aide
  • # Sed est mon ami

    Posté par . Évalué à 4.

    Je pense que j'ai trouvé la solution à mon problème avec la commande sed

    sed 's/la/LA/g' fichier.txt
    • [^] # Re: Sed est mon ami

      Posté par . Évalué à 4.

      vi sert pour l'édition interactive, pour les fichiers il vaut mieux utiliser sed ou awk comme tu l'as découvert.
    • [^] # Re: Sed est mon ami

      Posté par (page perso) . Évalué à 2.

      Pour modifier directement un ou plusieurs fichiers, GNU Sed offre

      sed -i.bak -e 's/la/LA/g' fic*.txt

      et -i tout court ne fait pas de sauvegarde.
  • # vim commande

    Posté par (page perso) . Évalué à 6.

    pour ce que tu veux faire, sed est suffisant, sinon tu peux enchainer jusqu'à 10 commandes à la suite en arguments:
    vim +'%s/la/LA/g' +wq fichier

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.