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.ext1 f.ext2 f.ext3
J'ai donc écris une conditionnelle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part f.00.ext1 f.00.ext2 f.00.ext3 f.virt
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:]].
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
En effet, l'outil peut générer des fichiers comme :
J'ai donc essayé :
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 ...
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.
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 )]]
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
Partager