我需要将一些文件复制到另一个目录。源结构如下
src/foo1.h
src/foo2.h
src/bar/foobar.h
我需要复制这些,以便最终到达
/usr/include/foo/foo1.h
/usr/include/foo/foo2.h
/usr/include/foo/bar/foobar.h
在Linux中,我使用cp -u --parents *.h bar/*.h /usr/include/foo
中的src
,效果很好。但是,我在Mac OSX中找不到合适的替代品 - cp
不支持parents
或等效选项,而install
支持-d
应该保留结构,但给我以下错误:install: foo1.h exists but it's not a directory
我被困住了。有什么想法吗?
答案 0 :(得分:1)
您可以使用rsync,例如
rsync -a ./src/ /usr/include/foo/ --include \*/ --include \*.h --exclude \*
顺便说一句,你可能不想在/ usr / include中安装东西,因为它可能会受到系统更新的破坏。考虑使用例如/ usr / local / include。