Tirer parti de GNU mv
est -t
option pour spécifier le répertoire cible, au lieu de s'appuyer sur le dernier argument :
find . -name "*" -maxdepth 1 -exec mv -t /home/foo2/bulk2 {} +
Si vous étiez sur un système sans l'option, vous pourriez utiliser un shell intermédiaire pour obtenir les arguments dans le bon ordre (find … -exec … +
ne prend pas en charge l'insertion d'arguments supplémentaires après la liste des fichiers).
find . -name "*" -maxdepth 1 -exec sh -c 'mv "[email protected]" "$0"' /home/foo2/bulk2 {} +
Considérez mv
ing le répertoire parent au lieu des fichiers :
mv /home/foo/bulk /home/foo2/bulk2 && mkdir /home/foo/bulk
(Mais cela pourrait causer des problèmes si /home/foo/bulk
doit exister à chaque instant.)