Bonsoir à tous,
J'utilise dans un script shell un outil qui va générer des fichiers de sorties différents selon la taille du fichier "f" passé en entrée.
Avant de poursuivre le script, je souhaite vérifier que les fichiers générés soient corrects.
2 cas à vérifier :

-premier cas, l'outil doit avoir générer les fichiers suivants :
-second cas, l'outil doit avoir générer les fichiers suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
f.00.ext1  f.00.ext2  f.00.ext3 f.virt
J'ai donc écris une conditionnelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
if [[ ( -s f.ext1 && -s f.ext2 && -s f.ext3 ) || ( -s f.00.ext1 && -s f.00.ext2 && -s f.00.ext3 && -s f.virt )]]
then 
	echo ok
else 
	echo "ko" 
	exit 1
fi
Je souhaiterai maintenant rendre le test sur la seconde partie de mon test générique en utilisant des plages de valeurs telles que [0-9] ou [[:digit:]].
En effet, l'outil peut générer des fichiers comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
f.01.ext1  f.01.ext2  f.01.ext3 f.02.ext1  f.02.ext2  f.02.ext3 etc ...
J'ai donc essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if [[ ( -s f.ext1 && -s f.ext2 && -s f.ext3 ) || ( -s f.[0-9][0-9].ext1 && -s f.[0-9][0-9].00.ext2 && -s f.[0-9][0-9].00.ext3 && -s f.virt )]]
Mais cela ne fonctionne pas, c'est à dire que -s f.[0-9][0-9].00.ext2 n'est pas interprété comme je le souhaiterai et ne reconnait pas le fichier f.00.ext1 par exemple.

Comment faire ?

Je ne suis pas familier avec cette écriture à base de double brackets [[ ]], si quelqu'un peut m'aider sur ce point également, son aide est la bienvenue .

merci d'avance.
ben