bash - 复制具有相同名称的多个文件

bash - 复制具有相同名称的多个文件

我想将同名但位于不同文件夹中的文件复制到 destdir。问题是不要在 destdir 中覆盖它们。

基本上这就足够了,尽管我不知道如何重命名每个文件。至于现在它们都被覆盖了:

$ cp /src/文件夹/*/文件 ~/dest/*

答案1

以下是一种方法:

cd /src/folder
for f in */file; do
    cp -v "$f" ~/dest/"${f//\//_}"
done

将复制/src/folder/foobar/file~/dest/foobar_file哪个应该是唯一的

答案2

您可以查看该--backup选项是否cp可用(我相信它不在 MacOS 上,但我可能错了):

 cp --backup=t /src/folder/*/file /dest

将创建 file.jpg.~1~、file.jpg.~2~ 等等。

相关内容