如何将一个目录结构中的特定文件集复制到另一个目录结构?

如何将一个目录结构中的特定文件集复制到另一个目录结构?

假设我有一个类似这样的目录结构:

view
 |
 +--- 0001
 |
 +--- 231
 |
 +--- e2341
 |
 ... and so on

我的问题是我想将一组具有相同名称的文件(例如 file_001.jpg)复制到具有相同目录结构的另一个位置,即镜像。有没有办法将特定名称模式的文件从一个目录结构复制到另一个目录结构?

我尝试了一些类似的事情......

cp -R */file_001.jpg /destination_folder

…但我得到的只是以下错误

cp: cannot stat `file_001.jpg': No such file or directory

我想我必须以某种方式输入文件名,有人知道该如何做吗?

答案1

您可以使用寻找结合直通功能太平洋保险协会为此。像这样:

find old_dir -name "file_001.jpg" -print | cpio -pd new_dir

cpio 上的标志-p触发直通模式,实际上只是将文件从其原始位置复制到new_dir。该-d标志创建所有必要的目录,因此您将拥有与new_dir下的相同的层次结构old_dir(至少就包含 的目录而言file_001.jpg)。

相关内容