Pb avec find -exec mv ?

Résolu
duddy67 -  
 duddy67 -
Bonjour,

Je veux déplacer tous les fichiers txt d'un répertoire vers un autre (il y en a 9).
J'utilise la commande suivante:

$ find /path/dir1/ -name "*.txt" -exec mv {} /path/dir1/dir2/ \;

mais j'ai des messages: .... identifient le même fichier

J'ai remplacer -exec par -ok pour voir pas à pas ce qui se passe.
Au départ les 5 premiers fichiers sont déplacés normalement puis
quand vient le tour du 6eme fichier voici le message:

/path/dir1/dir2/file1.txt et /path/dir1/dir2/file1.txt identifient le même fichier

et ainsi de suite:

/path/dir1/dir2/file2.txt et /path/dir1/dir2/file2.txt identifient le même fichier
/path/dir1/dir2/file3.txt et /path/dir1/dir2/file3.txt identifient le même fichier
/path/dir1/dir2/file4.txt et /path/dir1/dir2/file4.txt identifient le même fichier
/path/dir1/dir2/file5.txt et /path/dir1/dir2/file5.txt identifient le même fichier

puis les 4 derniers fichiers sont à leurs tours déplacés.
On dirait une boucle mal paramétrée ou quelque chose comme ça.

Quelqu'un pourrait m'expliquer ce comportement bizzare ?

Merci.
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    C'est normal vu que le répertoire de recherche c'est le répertoire père du dir2
    En fait le message veut dire que les fichiers dont déjà à leur place, rien à déplacer

    Pour ne plus avoir ces message tu peux faire
    find /path/dir1/ -name "*.txt" -exec mv {} /path/dir1/dir2/ \; 2>/dev/null
    0
    1. duddy67
       
      Merci pour cette explication ;-)
      0