
Ich versuche, einige Dateien zu finden und zu verschieben von/home/Benutzer/fol1Zu/home/Benutzer/fol2Im
Allgemeinen würde ich verwenden
find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +
Dies überschreibt jedoch Dateien mit demselben Namen, die bereits vorhanden sind in/Pfad/zu/foo/bar.
Ich möchte, dass die Dateien übersprungen werden, wenn sie dort bereits vorhanden sind.
Wenn dies eine Schleife erfordert, brauche ich auch eine Ausgabe, entweder eine einfache Ausgabe auf der Shell oder in einer Protokolldatei.
Irgendwelche Ideen?
Antwort1
Sie können n
die folgende Option verwenden:
find . -type f -name "abc*" -exec mv -nt "/path/to/foo/bar" "{}" +
Aus man mv
:
-n, --no-clobber
do not overwrite an existing file
Antwort2
Ich verwende das Mac-Terminal und dieser Befehl liefert gute Ergebnisse:
find Dateiursprung -type f -name "Dateiname" -exec mv {} Dateiziel/ ;