Bonjour à tous. (oui, de nuit comme de jour, moi je dis bonjour)

J'essaie actuellement de réaliser un script shell de renommage automatique de fichier. Je n'ai pas de problème concernant le renommage, mais concernant le premier test pour savoir si je dois traiter ou non le fichier.

Les conditions pour que le fichier soit à tester sont :
- Il doit commencer par le chiffre 1 puis par deux autres chiffres,
- Ensuite vient une chaine de caractère pouvant contenir tout type de symboles dont des espaces, des points, des apostrophes et quelques caractères spéciaux,
- Après un dernier espace reviennent entre parenthèses une chaine de caractère aux mêmes propriétés,
- Enfin il y a le format du fichier (ici .txt pour les essais).

Voici la structure de mon fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
#! /bin/sh
 
for i in *
do
   if [ "$(echo $i | grep '^1[0-9][0-9][a-zA-Z\ \.\']*([a-zA-Z\ \.]*).txt$')" ]; then
      Traitement...
   fi
done
exit 0
Le problème semble venir lors du \' car lorsque je le retire le script fonctionne sans problème.
L'erreur qui apparait est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
./essai: 5: ./essai: Syntax error: "(" unexpected (expecting ")")
Si je comprends bien, il considère que la chaine s'arrête après le \' au lieu de continuer. Pourtant je l'ai bien backslashé...

Quelqu'un peut-il me venir en aide ?

D'avance merci.
MythOnirie.