Bonjour à toutes et à tous,

Sur le serveur Redhat sur lequel je travaille, je dispose d'un répertoire contenant une grande quantité de fichiers (environ 4000) nommés de la sorte

AAAAAA.BBBBB.CCCCCCCC.Dqqqnnn.D040814.TTTTT

La partie "D040814" est la date de réception du fichier sur mon serveur, et je compte m'en servir comme élément pour mon script, lequel crée des dossiers de type "201408" (année mois) et doit déplacer les fichiers dans les répertoires correspondants

Dans mon script ksh, outre les boucles qui permettent de vérifier que je suis bien avec le bon compte applicatif et que mon répertoire existe bien, j'exécute ça (le mkdir est commenté pour mes tests pour l'instant) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#création du dossier par mois
if [ -d "$(date +%Y%m)" ]; then
 echo mkdir $(date +%Y%m)
#       mkdir $(date +%Y%m)
fi
 
pwd
 
 
LIST="'*$(date +%m%y)*'"
echo $LIST
 
echo find . -type f -name "${LIST[@]}"
find . -type f -name "${LIST[@]}"

Mon problème, c'est que la commande find ne renvoie rien quand je l'exécute via le script.
La commande pwd renvoie bien le répertoire où se situent les fichiers correspondant au critère de recherche
Lorsque j'exécute le résultat de la dernière commande echo ( find . -type f -name '*$(date +%m%y)*' ), j'obtiens bien la liste de fichiers.


Merci d'avance pour vos lumières.