Linux 查找并复制同名文件到目标文件夹不会覆盖

yay*_*oho 6 linux find cp

我想查找*.jpg一个文件夹中的所有文件并将其复制到我使用的另一个文件夹中

find /tempL/6453/ -name "*.jpg" |  xargs  -I  '{}' cp {} /tempL/;
Run Code Online (Sandbox Code Playgroud)

但它会覆盖同名文件

例如在/tempL/6453/,有test (1).jpg test (2).jpg和文件夹1,在/tempL/6453/1/,也有同名的文件test (1).jpg test (2).jpg

如果我使用上面的命令,只有两个文件test (1).jpg test (2).jpg/tempL/,也不能所有文件复制到/tempL/

我想要的是将所有文件复制到/tempL/,当有相同的文件名时,只需重命名它们,如何?

gzh*_*gzh 7

我想要的是将所有文件复制到/tempL/,当有相同文件名时,只需重命名它们,如何?

1) 如果您只是不进行覆盖cp --backup会给您现有文件提供备份,则使用--suffix选项cp,您还可以指定用于备份的后缀。

2)--parents选项cp将保留目录树,即文件夹1 中的文件将复制到新创建的1 文件夹中。

3) 如果您想自定义重命名处理,则不能cp仅使用命令。为其编写脚本并调用它来处理结果find