Suchen und Verschieben von Dateien ohne Überschreiben und mit Ausgabe

Suchen und Verschieben von Dateien ohne Überschreiben und mit Ausgabe

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 ndie 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/ ;

verwandte Informationen