复制指定子目录

复制指定子目录

我的外部硬盘中有一堆文件夹,我想复制其中的一部分。这些文件夹具有以下结构:

A001A
A003A
A004A
etc...

...并且所有文件夹都包含类似的目录,例如:

HHZ
HH1
HH2
LHZ
LH1
LH2

我需要复制所有目录(A001A、A002A ...)以及子目录(HHZ、HH1、HH2),但仅复制以 H 开头的目录(以及其中的每个文件)。

我怎样才能做到这一点?

答案1

这应该可以解决问题(假设当前文件夹中的所有目录都是 A*** 目录):

cp -r --parents */H* destination/

显然你应该替换destination/为你的实际目标。

答案2

如果您pax支持该-0选项(以及您的find谓词-print0):

find . -path '*/H*' -print0 | pax -0rwpe /dest/dir/

/H将复制其路径中的所有文件和目录。

如果不包含,但您可以保证文件路径不包含换行符,则可以删除0上面命令中的两个 s 。

相关内容