如何将整个嵌套目录中的头文件仅复制到另一个目录,在复制到新文件夹后保持相同的层次结构

avi*_*onk 5 linux shell cp

我有一个目录,其中包含许多头文件(.h)和其他.o和.c文件以及其他文件.该目录里面有许多嵌套目录.我想只将头文件复制到一个单独的目录,在新目录中保留相同的结构.

cp -rf oldDirectory newDirectory将复制所有文件.我想只复制头文件.

use*_*476 7

(cd src && find . -name '*.h' -print | tar --create --files-from -) | (cd dst && tar xvfp -)
Run Code Online (Sandbox Code Playgroud)

你可以用cpio做类似的事情,如果你只想硬链接文件而不是复制它们,但是之后可能需要一点点mv'ing.如果您有大量数据并且不介意(或需要!)共享,这可能会快得多.如果dst需要有一个src,它就会混淆 - 如果它不仅仅是一个副作用:

  1. 找到src -name'*.h'-print | cpio -pdlv dst
  2. mv dst/src/*dst /.
  3. rmdir dst/src