cp --parents option on mac

dmonopoly picture dmonopoly · Jun 28, 2012 · Viewed 20.3k times · Source

On Linux, I have a --parents option available for the cp command so I can do

cp --parents test/withintest/go.rb test2

http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html

On Mac, I do not have this option available. Is there a way to do this on Mac? Why is this option not available?

PS. The purpose of --parents is the following:

‘--parents’ Form the name of each destination file by appending to the target directory a slash and the specified name of the source file.

The last argument given to cp must be the name of an existing directory.

For example, the command:

      cp --parents a/b/c existing_dir 

copies the file a/b/c to existing_dir/a/b/c, creating any missing intermediate directories.

Answer

Stephan picture Stephan · Dec 13, 2012

This bothered me quite a lot as well. A workaround for this could be to use rsync.

rsync -R test/withintest/go.rb test2

has the same effect as cp --parents and OS X comes standard with rsync.