|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
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 : J'ai donc écris une conditionnelle : Code :
En effet, l'outil peut générer des fichiers comme : Code :
f.01.ext1 f.01.ext2 f.01.ext3 f.02.ext1 f.02.ext2 f.02.ext3 etc ... Code :
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
__________________
Meet the free software gang |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
les tests sur les fichiers, testent un fichier à la fois; il n'est pas possible d'utiliser le Développement des chemins, et/ou les Motifs génériques. éventuellement, pour alimenter un tableau, puis (ou directement) une boucle for pour tester chaque fichier ... ? |
|
|
20
|
|
|
#3 | ||
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
Salut N_BaH,
Effectivement, je pense que ce message d'erreur est en rapport avec ce que tu dis : Code :
__________________
Meet the free software gang |
||
|
|
00
|
|
|
#4 | ||||||
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
j'ai pu résoudre mon problème en séparant les 2 cas : je fais un premier test correspondant au premier cas.
Code :
Code :
Code :
A propos des doubles brackets [[ ]]d'après mon bouquin, il s'agit d'une syntaxe différente des simple brackets [ ] où les opérateurs -a et -o sont respectivement remplacés par && et ||. Avec les doubles, on peut utiliser les parenthèses sans les échapper pour regrouper les expressions logiques. Est ce qu'il y a d'autres différences ou est ce juste une question de pure syntaxe ? bonne soirée, ben
__________________
Meet the free software gang |
||||||
|
|
10
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
il y a plus, notamment la possibilité d'utiliser des regexes; lis attentivement la section du man concernant cette commande composée, et celle qui y sont liées.
pour ma part, je procéderais ainsi : Code :
|
||
|
|
30
|
|
|
#6 | |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
Citation:
|
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com