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:

  #! /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’