# Bash: Modifier une occurence dans une série de fichiers Voici un script qui permet de remplacer des données dans beaucoup de fichiers en simultané. Le principe utilisé est simple: - rechercher tous les fichiers dans une sous-arborescence de répertoires avec find - modifier une occurrence avec sed //// #! /bin/bash # On vérifie que le bon nombre d'arguments a été envoyé au script. if [ $# -ne 3 ] ; then echo " Usage : " $0 " 'FILES' 'STRING TO REPLACE' 'REPLACEMENT STRING' " exit fi # On charge les arguments FILE=$1 TEXTE=$2 REPLACE=$3 # On cherche l'ensemble des fichiers concernés. FILES=`find -name "$FILE"` # On applique les modifications for i in $FILES; do sed "s/$TEXTE/$REPLACE/g" "$i" > tmp mv tmp $i done Pour se servir du script : $ script.sh ‘*.txt’ ‘Salut toto’ ‘Adieu titi’