Nutzung von GNU mv
ist -t
Option, um das Zielverzeichnis anzugeben, anstatt sich auf das letzte Argument zu verlassen:
find . -name "*" -maxdepth 1 -exec mv -t /home/foo2/bulk2 {} +
Wenn Sie auf einem System ohne die Option waren, könnten Sie eine Zwischen-Shell verwenden, um die Argumente in der richtigen Reihenfolge zu bekommen (find … -exec … +
unterstützt keine zusätzlichen Argumente nach der Dateiliste).
find . -name "*" -maxdepth 1 -exec sh -c 'mv "[email protected]" "$0"' /home/foo2/bulk2 {} +
Betrachten Sie mv
statt der Dateien das übergeordnete Verzeichnis:
mv /home/foo/bulk /home/foo2/bulk2 && mkdir /home/foo/bulk
(Aber es könnte zu Problemen führen, wenn /home/foo/bulk
muss in jedem Moment existieren.)