найти и переместить файлы без перезаписи и с выводом

найти и переместить файлы без перезаписи и с выводом

Я пытаюсь найти и переместить некоторые файлы из/home/user/fol1к/home/user/fol2.

Обычно я бы использовал

find . -type f -name "abc*" -exec mv -t "/path/to/foo/bar" {} +

но это перезаписывает файлы с такими же именами, которые уже присутствуют в/путь/к/foo/bar.
Я хочу, чтобы он пропускал файлы, если они уже там присутствуют.

Если для этого требуется цикл, мне также нужен вывод, либо простой вывод на оболочке, либо в файле журнала.

Есть идеи?

решение1

Вы можете использовать nопцию:

find . -type f -name "abc*" -exec mv -nt "/path/to/foo/bar" "{}" +

От man mv:

-n, --no-clobber
          do not overwrite an existing file

решение2

Я использую Mac Terminal, и эта команда дает хороший результат:

find FIle_Origin -type f -name "Имя_файла" -exec mv {} Место_назначения_файла/ ;

Связанный контент