#1 Le 09/05/2010, à 19:42
- RayBan
[Résolu]Probléme script avec mv.
Bonjour.
J'ai écrit un petit script, pour pouvoir déplacer automatiquement tout les fichiers .txt
d'un repertoire bien précis, vers une cible dépendant du chemin source.
Cela fonctionne pas mal, mais le dernier fichier n'est jamais déplacé.
Je ne comprends pas pourquoi.
Voici le code :
export PATH_SOURCE="mon REPERTOIRE SOURCE"
export rep="/tmp/mon fichier de contrôle"
export position="0" #position dans ma boucle de déplacement
echo "$(find "$PATH_SOURCE/" -type f -name "*.txt") " > $rep
echo "END" >> $rep #Pour être certain de ne pas renvoyer
#l'octet signifiant la fin du fichier dans le chemin de ma dernière source
export Nbre="$(wc -l < "$rep")" #je compte le nombre de ligne de mon fichier
#contenant tout les chemins des fichiers .txt de ma source
let Nbre=$Nbre-1 #J'enlève 1( à cause du END)
#afin de le réutiliser dans ma boucle de déplacement
while [ "$position" != "$Nbre" ]
do
let position=$position+1
echo "*****************************************************************************"
export times=`date +"[20%y-%d-%m][%X]"`
# Récupération de la ligne numéro $position, correspondant a mon chemin source :
export provenance=$(awk -v ro=$position ' NR == ro { print $0}' $rep)
#Formatage de cette ligne, pour déplacement vers cible
export destination="$(echo "$provenance" | cut -d"/" -f7 | cut -d" " -f1-7)"
#DÉPLACEMENT DE SOURCE VERS CIBLE.
mv "$provenance" "$PATH_CIBLE/$destination/$times.txt"
Qui me renvoie:
[doc]
mv: ne peut évaluer `/Répertoire de ma source/Mon Fichier.txt ' : Aucun fichier ou dossier de ce type
[/doc]
Le chemin de la source et de la cible sont OK.
Il y a bien un fichier, et il n'a pas déjà été déplacé.
Alors que les autres fichiers sont bien déplaces.
D'avance Merci.
Dernière modification par RayBan (Le 16/05/2010, à 00:32)
Hors ligne
#2 Le 09/05/2010, à 22:54
- RayBan
Re : [Résolu]Probléme script avec mv.
Dernière modification par RayBan (Le 09/05/2010, à 22:54)
Hors ligne
#3 Le 09/05/2010, à 23:29
- twocats
Re : [Résolu]Probléme script avec mv.
Ça m'a l'air super compliqué pour pas grand chose. Pourquoi pas un :
while read LINE
do
blablabla
done < <(find "$PATH_SOURCE/" -type f -name \*.txt)
La réponse est 42
Hors ligne
#4 Le 09/05/2010, à 23:33
- RayBan
Re : [Résolu]Probléme script avec mv.
Merci à vous Twocat.
J'essaierai.
C'est sûrement compliqué pour pas grands chose.
Car je débute totalement en bash.
Merci bien.
Hors ligne