Tester le format d'un fichier en entrée

Fermé
ima - 7 juin 2012 à 11:30
 Utilisateur anonyme - 7 juin 2012 à 18:31
Bonjour,

Je voudrais tester le format du nom de mon fichier en entrée.

Par exemple j'ai le nom du fichier sous ce format:

CodeClient-CodeFlux-CodeCompte-Date.XLS

Je dois vérifier :

- l'extension: PDF, XLS, CSV, ZIP, TXT

- le format: si j'ai 4 codes séparés par des tirets (les codes peuvent être vides mais séparés par -)


Merci de votre retour.
A voir également:

3 réponses

zone-virtuelle Messages postés 125 Date d'inscription vendredi 2 janvier 2009 Statut Membre Dernière intervention 31 mars 2014 8
7 juin 2012 à 11:37
Salut !
Tu voudrai créer un programme permettant de faire ça ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
7 juin 2012 à 11:42
Salut,

- l'extension: PDF, XLS, CSV, ZIP, TXT
Voir man bash - Développement des paramètres

- le format: si j'ai 4 codes séparés par des tirets (les codes peuvent être vides mais séparés par -)
Suffit de compter le nombre de "-" (man grep, man wc).
0
Bonjour zipe31,

Je crois que ce n'est pas respectable de fermer une discussion sans avoir de solutions !
Je répondrais que c'est ok que lorsque mon pb est résolu !

Merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
7 juin 2012 à 17:13
Elle n'est pas fermée celle-ci à ce que je sache ?

Qu'est-ce qui te gène dans celle là ?
0
rien, en tout cas j'ai réussi à le faire
merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
7 juin 2012 à 17:25
en tout cas j'ai réussi à le faire
Content pour toi, mais il eut été plus sympa de ta part de nous en donner la solution ;-(
0
Oh pas de pb:

ExtensionFichier='echo $line | cut -d"." -f2 '

IF [ $ExtensionFichier != "xls" ] && [ $ExtensionFichier != "csv" ] && [ $ExtensionFichier != "pdf" ] && [ $ExtensionFichier != "txt" ] && [ $ExtensionFichier != "zip" ]

THEN echo "Extension fichier incorrect"
FI

Voilà :)
0
salut,

en bash, avec la correspondance élargie des motifs du Développement des noms de fichiers, que permettent aussi les crochets doubles

$ monfichier=blabla.xls 
$ [[ $monfichier != *.@(xls|csv|pdf|txt|zip) ]] && echo error 
$ monfichier=blabla.xls.autre 
$ [[ $monfichier != *.@(xls|csv|pdf|txt|zip) ]] && echo error 
error 
$ monfichier=blabla.csv 
$ [[ $monfichier != *.@(xls|csv|pdf|txt|zip) ]] && echo error 
$ 
0