Bonjour,
Je cherche à écrire un script shell capable de trouver une chaine de caractère dans des fichiers contenus dans divers répertoires et remplacer cette même chaine par une autre.
Merci de votre aide par avance.
Guilig
Version imprimable
Bonjour,
Je cherche à écrire un script shell capable de trouver une chaine de caractère dans des fichiers contenus dans divers répertoires et remplacer cette même chaine par une autre.
Merci de votre aide par avance.
Guilig
pour la recherche suffit de faire une liste de repertoires à fouiller et d'y greper chaque fichier
quand au remplacement il faut voir avec sed....
style : (juste pour la structure)
Code:
1
2
3
4
5
6
7
8
9 for i in /toto /titi /tutu ; do for j in $i/* ; do grep achanger $j if [ $? -eq 0 ] ; then sed -e "s/achanger/remplacement/" fi done done
Le grep ne sert à rien ici (et avec l'option -q, c'est mieux), Sed sait chercher tout seul. :)
Et il faut ajouter -i pour modifier les fichiers (gnu Sed).
une combinaise de find -exec et sed -i me parait même encore plus pertinente