J'opterais pour la méthode traditionnelle find & xargs :
find ~/Linux/Old -maxdepth 1 -mindepth 1 -not -name Tux.png -print0 |
xargs -0 mv -t ~/Linux/New
-maxdepth 1
fait en sorte que la recherche ne soit pas récursive. Si vous ne vous intéressez qu'aux fichiers, vous pouvez dire -type f
. -mindepth 1
fait qu'il n'inclut pas le ~/Linux/Old
le chemin lui-même dans le résultat. Fonctionne avec n'importe quel nom de fichier, y compris ceux qui contiennent des nouvelles lignes intégrées.
Un commentaire note que le mv -t
est probablement une extension GNU. Pour les systèmes qui ne l'ont pas
find ~/Linux/Old -maxdepth 1 -mindepth 1 -not -name Tux.png \
-exec mv '{}' ~/Linux/New \;