我的外部硬盘中有一堆文件夹,我想复制其中的一部分。这些文件夹具有以下结构:
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 。