TipsTop.fr
De la simplicité dans l'IT
Rechercher et remplacer dans plusieurs fichiers
Categories: UNIX

Vous migrez de serveur. Votre organisation sur votre disque dur est différente. Mais voilà, vous avez tout un tas de fichiers avec des chemins absolus. Vous décidez donc de retrouvé tout ces chemins et de les remplacer par les nouveaux.

La première solution serait un grep pour retrouver la chaine de caractère…

grep -rin "Chaine à rechercher" /ou/chercher
  • -r pour la récursivité
  • -i pour l’insensibilité à la casse
  • -n pour ajouter le numéro de ligne devant chaque resultat
  • … Puis on remplace à la main…

Si il n’y que quelques occurrences ce n’est pas très grave. Par contre, si il y a 35675 occurrences, c’est déjà plus embêtant. La solution que je vous propose est une simple commande perl. Elle permet de rechercher ET remplacer d’un coup :

perl -pi -w -e 's/mot_a_chercher/replacement/g;' *.php
  • -p pour boucler
  • -i pour remplacer
  • -w pour afficher les warnings
  • -e pour exécuter la commande qui suit;
  • *.php est le patern des fichiers qui seront analysé. Ici, tout les fichiers ayant pour extension .php seront analysés.
Tags:,

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>