查找并复制目录

查找并复制目录

我有这个目录结构:

.../current folder/Bx/Px/

其中x是不同的数字,如x= 123... 等等。

我想P*在当前文件夹中找到目录,然后将它们全部复制到文件夹中asd,该文件夹也位于当前文件夹中。对于文件,我通常会这样做:

find . -name P* | cpio -pdm asd

但我不知道如何使用目录来实现这一点。我尝试了以下方法:

find . -name P* | cpio -D -pdm asd

在不同的配置中,但它不起作用。

答案1

类似于但不完全类似于什么@Jos 说你可以使用这个find命令:

find . -type d -name "P*" -exec cp -r {} ./asd \;
  • -type d:仅查找目录。

  • -name "P*":搜索所有名称以 开头的项目P(区分大小写)。

  • -exec:执行指定命令。

  • cp -r {} ./asd:复制(cp)符合条件的找到的目录{}及其内容-rasd当前目录下的目录中./

  • \;cp对找到的每个项目应用操作(\用于转义;)。

请记住,find默认情况下会递归查找符合指定条件的项目,因此它也会在子目录中找到符合指定条件的目录。如果您只对匹配当前目录中的目录感兴趣,请-maxdepth 1在 之前添加选项-type d。另请参阅man find

笔记:在将上述命令应用于实际数据之前,请务必先对其进行测试,以确保其按预期工作。此外,保留数据备份始终是一个好主意。

相关内容