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: