Comment trouver et remplacer une chaîne en ligne de commande dans plusieurs fichiers sous Unix?
Réponses
Trop de publicités?
Stan
Points
2550
Comme la solution Zombie (et plus rapide je suppose) mais avec sed (standard sur de nombreuses distributions et OSX) au lieu de Perl:
find . -name '*.py' | xargs sed -i .bak 's/foo/bar/g'
Cela remplacera toutes les occurrences de foo dans vos fichiers Python sous le répertoire actuel avec barre et créera une sauvegarde pour chaque fichier avec l'extension .py.bak .
Pour nettoyer la sauvegarde, exécutez:
find . -name "*.bak" -exec rm {} \;
Attention, le dernier supprime tous les fichiers .bak.
DigitalRoss
Points
80400
epsilom
Points
75
ghostdog74
Points
86060