Qu’est-ce qui s’est passé avec la commande find -exec mv

je viens d’appeler

find -name '*.wmv' -exec '{}' ../other ';' 

où l’un des fichiers correspondants contenait des espaces comme

 ./blabla - Copy/blabla.wmv 

Il a renvoyé le message

 find: `./blabla - Copy/blabla.wmv': No such file or directory 

Maintenant, le fichier source est parti et dans le répertoire cible “other” il n’y a qu’un répertoire appelé “blabla.wmv”, mais il est vide et je ne trouve pas le fichier réel.

J’aurais supposé que la commande élargirait à

 mv './blabla - Copy/blabla.wmv' ../other 

(avec des guillemets autour de la source), mais même s’il s’étend à

 mv ./blabla - Copy/blabla.wmv ../other 

aucun des fichiers ‘blabla’, ‘-‘ ni ‘Copy / blabla.wmv’ n’existait donc cela n’explique pas pourquoi le fichier source a disparu et le répertoire ‘blabla.wmv’ a été créé. Je voudrais savoir ce qui s’est réellement passé.

Je ne me soucie pas vraiment du fichier, mais je veux être sûr qu’il ne circule pas quelque part où il n’est pas censé ou écraser quelque chose d’important.

Il n’y a pas de mv dans votre commande.

Essayer:

 find -name '*.wmv' -exec mv '{}' ../other ';' 

Les noms de fichiers comportant des espaces sont gérés correctement par find.