02 septembre 2011

Search and replace in vi under Linux - Rechercher et remplacer dans vi sous Linux

Vous avez des modifications à effectuer dans un fichier, vous êtes sous Linux et vous souhaitez utiliser vi pour cela. Je sais, il y a des personnes très très allergiques à vi sous Linux. Mais si on veut faire les choses rapidement et efficacement, tout en réduisant le nombre de clics, c'est la solution adaptée.

Cas concret, je suis en train d'installer Cacti sous Linux Fedora 15 et il s'avère que le fichier sql de chargement des tables en base est erronné. En effet, il faut modifier tous les "TYPE=MyISAM" par "ENGINE=MyISAM". En une ligne, vous avez la possibilité de le faire. Voyez par vous-même.

Sauvegardez votre fichier :

cp -p cacti.sql cacti.sql.old

vi cacti.sql

Puis tapez:

:%s/TYPE/ENGINE/g

Enfin enregistrez votre fichier pour que les modifications soient prises en compte en tapant :

:wq

Plus d'infos :

vi : search and replace

Posté par fatihaelh à 23:26 - Unix - Commentaires [2] - Permalien [#]

Commentaires

    En fait il s'agit de la syntaxe de sed :
    sed -i 's/TYPE/ENGINE/g' cacti.sql
    Et hop
    --
    dadu

    Posté par dadu, 07 septembre 2011
  • Merci Dadu pour la précision

    Salut, je te remercie pour la précision. Ce que je ne sais pas faire en sed c'est modifier un fichier sans écraser l'original. Je sais que quand on utilise une redirection genre > ça écrase. Du coup, quand j'utilise sed, je le fais en deux étapes.

    Posté par Fatiha, 07 septembre 2011

Poster un commentaire