[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: problème « find -execdir mv » sous Sid



On Sun, May 08, 2011 at 09:06:57AM +0200, Rémi Vanicat wrote:
> debiancbien <debiancbien@gmail.com> writes:
> 
> > J'ai le problème suivant sous Sid  :
> > _______________________________________________________________________
> > $ tree -F --noreport
> > .
> > |__ test/
> > |__ TEST01
> >
> > $ find . -regex ".*TEST01" -execdir mv '{}' test \;
> 
> Cela devrait faire ce que tu veux:
> 
> find . -regex ".*TEST01" -execdir mv -t test '{}'  \;
> 
> ça forcera mv à être en mode « je déplace dans un répertoire » et non
> en mode « je renomme »
> 

Bonjour Rémi et merci pour ta réponse. En effet, ça fonctionne mais avec
un message d'erreur tout de même :
________________________________________________________________________
$ find . -regex ".*TEST01" -execdir mv -t test '{}' \;
mv: accès à « test »: Aucun fichier ou dossier de ce type

$ tree -F --noreport
.
└── test/
    └── TEST01
________________________________________________________________________
Ce qui me confirme que je ne comprends pas encore très bien comment
« find » fonctionne :p

> ceci aussi devrais avoir un effet positif:
> 
> find . -regex ".*TEST01" -execdir mv -t test '{}' +  \;
> 
> en plus cela devrait lancer qu'une fois mv par répertoire (et donc une
> fois que find aura regarder le contenu du répertoire, enfin je suppose,
> à tester)

ça fonctionne également, avec le même message d'erreur.

> 
> L'option -depth de find devrait peut-être amélioré les choses, mais je
> n'en suis pas sur....

non, si je reprends ma commande originale en lui ajoutant -depth le
problème est le même.

> 
> > $ tree -F --noreport
> > .
> > |__ test/
> >     |__ test
> > ________________________________________________________________________
> >
> > Y'aurait-il un aimable collègue sidien dans la salle pour me dire si
> > c'est reproductible ?... ou pour m'expliquer la raison de ce
> > comportement irritant ? :)
> 
> Ça ressemble à un problème de sous spécification: je n'ai pas relus en
> complet le man de find, mais rien n'assure que find vas traiter le
> contenu des sous répertoire avant le contenu du répertoire courant. Donc
> les deux comportement semble possible. Et un changement dans find ou
> autre chose à fait passer le comportement réel de l'un à l'autre.

Oui… je vois ce que tu veux dire mais ça ferait de « find » un
utilitaire excessivement délicat à manier… pour ne pas dire bancal.
Alors je vais quand même balancer aux instances buguiennes :)

Merci encore pour l'aide.


Reply to: