Rechercher dans ce blog

mardi 19 février 2013

Remplacement d'une chaine de caractères par une autre avec Cygwin

Cygwin est une collection de logiciels libres à l'origine développés par Cygnus Solutions permettant à différentes versions de Windows de Microsoft d'émuler un système Unix.

Cette collection contient un outil très pratique, il s'agit de l'utilitaire find.exe qui permet de faire des recherches et d'effectuer des remplacements de chaines de caractères lorsqu'il est associé à xargs.exe et à sed.exe.

Par exemple, pour rechercher tous les fichiers ayant l'extension java (case sensitive) à partir du répertoire courant, il suffit de taper la commande suivante :

find . -type f -name "*.java"

Pour trouver les fichiers ayant été modifiés depuis moins d'une journée :

find . -mtime -1 -type f

Pour remplacer la chaineA par la chaineB dans tous les fichiers à partir du répertoire courant :

find . -type f -print0 | xargs -0 sed -i 's/chaineA/chaineB/g'