[UNIX/LINUX] test d'existence de fichiers d'apres l'extension

test d'existence de fichiers d'apres l'extension [UNIX/LINUX] - Divers - Programmation

Marsh Posté le 05-01-2007 à 16:50:13    

Bonjour,
 
je souhaite effectuer un déplacement automatique de fichiers, à partir de l'extension, et à la condition qu'ils existent dans le répertoire cible.
 
C'est à dire :
si le dossier "data" contient des fichiers " .f "
les déplacer dans le dossier "MASQUES"
 
j'ai essayé à partir de l'instruction "if", mais cela ne fonctionne que s'il existe un seul fichier d'extension .f dans le dossier data...
quand il y a plusieurs .f, le message "binary operator expected" apparait...
 
voici le test que j'ai tenté de réalisé :
 
if [ -f data/*.f ]
then
  cp data/*.f MASQUES/
  echo "masques detectés et déplacés"
fi
 
(meme problème avec l'option -a eu lieu de -f)
 
Si quelqu'un voit l'erreur que je commets, merci de me corriger.   :jap:

Reply

Marsh Posté le 05-01-2007 à 16:50:13   

Reply

Marsh Posté le 05-01-2007 à 16:51:23    

mv data/*.f MASQUES/


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 05-01-2007 à 17:00:06    

copier, ou déplacer, le problème reste le même
 
apparemment l'opérateur de test " if  -a" demande des options supplémentaires quand plusieurs fichiers sont concernés...
(puis cela fonctionne parfaitement tel quel, pour une seul fichier.f à détecter et déplacer...)

Reply

Marsh Posté le 05-01-2007 à 17:04:36    

Pourquoi tu teste l'existence des fichiers avant, tu fait le mv/cp et s'il n'y a rien il fera rien c'est tout...


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 05-01-2007 à 17:18:03    

En fait ce test est une étape parmis d'autres (au sein d'un scritp .sh), et je ne souhaite donc pas voir de message d'erreur inopportun apparaitre au milieu des messages de diagnostiques qu'affiche mon script...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed