我有一个目录有很多头文件(.h)和其他.o和.c文件和其他文件。 这个目录里面有很多嵌套的目录。 我只想将头文件复制到一个单独的目录中,保留新目录中的相同结构。
cp -rf oldDirectory newDirectory
将复制所有文件。 我只想复制头文件。
(cd src && find . -name '*.h' -print | tar --create --files-from -) | (cd dst && tar xvfp -)
如果你只是想要硬链接文件,而不是复制它们,你可以做一些类似于cpio的事情,但是之后可能需要一点点修改。 如果你有很多的数据,不介意(或需要!)共享,这可以更快。 如果dst需要一个src,它就会变得困惑 – 这是,如果它不只是一个副作用:
cp -rf oldDirectory/*.h newDirectory
或类似的东西(取决于实际路径)
find oldDirectory -type f -name "*.h" -print0 | xargs -file cp file newDirectory
这个为我工作:
rsync -avm --include='*.h' -f 'hide,! */' . /destination_dir
从这里