Bonjour,
Je suis débutant en shell et je cherche à copier plusieurs lignes d'un fichier (correspondant à des fichiers XML) vers un autre emplacement.
Voici mon script :
Le IF me sert à tester si des fichiers existent pour un jour J. S'il n'y a pas de fichiers, on ne doit rien copier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #!/bin/bash source=/chemin1/ cible=/chemin2/ fichier="$(find $source -mmin -$((`date +%H`*60)) -iname '*.xml')" # copie du fichier si le fichier du jour est existant if [ -f "$fichier" ] then while read line echo "$(date +%d/%m/%y-%kh%M) : copie du fichier $line" >> $(date +%Y-%m-%d).copie.log cp "$line" $cible done < $fichier else echo "$(date +%d/%m/%y-%kh%M) : pas de nouveau fichier pour ce jour" >> $(date +%Y-%m-%d).copie.log fi
Mon problème, c'est que cela ne fonctionne pas. Le résultat me renvoie systématiquement vers le ELSE, même lorsqu'il y a des fichiers dans le répertoire source.
Pouvez-vous m'aider ?
Je vous remercie !!
Partager