我有一个目录,其中包含很多头文件(.h)和其他 .o 和 .c 文件以及其他文件。这个目录里面有很多嵌套目录。我只想将头文件复制到单独的目录中,并在新目录中保留相同的结构。
cp -rf oldDirectory newDirectory
将复制所有文件。我只想复制头文件。
(cd src && find . -name '*.h' -print | tar --create --files-from -) | (cd dst && tar xvfp -)
如果您只想硬链接文件而不是复制它们,您可以使用 cpio 执行类似的操作,但之后可能需要一些 mv'ing。如果您有大量数据并且不介意(或需要!)共享,这可能会快得多。如果 dst 需要在其中包含 src ,它会感到困惑 - 如果它不仅仅是一个副作用:
cp -rf oldDirectory/*.h newDirectory
或类似的东西(取决于实际路径)
find oldDirectory -type f -name "*.h" -print0 | xargs -file cp file newDirectory