2011-03-29 36 views
0

我需要將幾個文件複製到另一個目錄。來源結構如下在OSX和目錄結構中安裝命令

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/foosrc,它的偉大工程。但是,我找不到在Mac OSX上一個合適的替代者 - cp不支持parents或等效的選項,install支持-d這是應該保護的結構,但給了我以下錯誤:install: foo1.h exists but it's not a directory

我卡住了。有任何想法嗎?

+3

請參閱http://stackoverflow.com/questions/3474329/how-to-emulate-cp-and-mv-parent-on-osx – stuartd 2011-03-29 15:42:02

回答

1

您可以使用rsync,例如,

rsync -a ./src/ /usr/include/foo/ --include \*/ --include \*.h --exclude \* 

順便說一句,你可能不想安裝的東西到/ usr/include中,因爲它可能會得到通過系統更新重挫。考慮使用例如/ usr/local/include代替。

+0

絕對使用/ usr/local/include,而不是/ usr/include。 – LaC 2011-03-29 16:30:35