查找并移动文件而不覆盖并带有输出

查找并移动文件而不覆盖并带有输出

我正在尝试从中查找并移动一些文件/home/用户/fol1/home/用户/fol2

一般来说我会使用

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

但这会覆盖已存在于中的同名文件/路径/到/foo/bar
我希望它跳过那些已经存在的文件。

如果这需要一个循环,我还需要一个输出,无论是 shell 上的纯输出还是日志文件中的输出。

有任何想法吗?

答案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 终端,这个命令给出了良好的结果:

查找 FIle_Origin -type f -name "File_Name" -exec mv {} File_destination/ ;

相关内容