Chercher/remplacer dans un dossier


Script bash pour faire un chercher/remplacer dans un dossier, de façon récursive.
Catégories associées : Scripts
Technologies associées : Autres

for file in `ack-grep 'chaine recherchée' -l dossier1`; do
    mv $file $file.old
    sed -e 's/chaine recherchée/chaine remplacée/g' $file.old > $file
    rm $file.old
done
La ligne
ack-grep 'chaine recherchée' -l dossier1
recherche la chaine de caractères "chaine recherchée" dans dossier1.
L'option -l permet de n'afficher que les fichiers contenant la chaine recherchée.

Le fichier .old (ou autre nomination) est necessaire. Autrement, un sed réécrivant directement dans le fichier vide le fichier