Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在不同的源目录中复制同名文件并在目标目录中重命名?_Linux_Bash_Cp - Fatal编程技术网

Linux 如何在不同的源目录中复制同名文件并在目标目录中重命名?

Linux 如何在不同的源目录中复制同名文件并在目标目录中重命名?,linux,bash,cp,Linux,Bash,Cp,我有以下结构的文件列表: A/abc.zip B/abc.zip C/abc.zip 我想使用“复制”命令复制它们: $ cp */abc.zip ~/dest/ 这似乎每次都会替换文件,如何使用LinuxBash正确复制这些文件 如果我想将其重命名为dest/A-abc.zip,dest/B-abc.zip,dest/C-abc.zip?如果不需要将所有内容放在同一路径中,可以使用--parent来维护结构: $ cp --parent */abc.zip ~/dest $ tre

我有以下结构的文件列表:

 A/abc.zip
 B/abc.zip
 C/abc.zip
我想使用“复制”命令复制它们:

$ cp */abc.zip ~/dest/
这似乎每次都会替换文件,如何使用LinuxBash正确复制这些文件

如果我想将其重命名为
dest/A-abc.zip
dest/B-abc.zip
dest/C-abc.zip

如果不需要将所有内容放在同一路径中,可以使用
--parent
来维护结构:

$ cp --parent */abc.zip ~/dest

$ tree ~/dest
~/dest
├── 1
│   └── abc.zip
├── 2
│   └── abc.zip
└── 3
    └── abc.zip

如果您使用--parents标志,它应该将文件夹路径复制到所有abc.zip文件中。这个问题解决了在一个命令中复制和重命名的问题:“我想使用copy命令”--我们是否应该认为这意味着您不会接受任何未使用
cp
的答案?如果没有,我们应该如何理解该行以反映您的意图?@CharlesDuffy,理想情况下是cp或bash cmd,因为我使用的是旧的cygwin,它不支持某些高级命令。如果您有
rsync
,那么您可以使用
-R
选项。