【发布时间】:2014-03-25 18:02:20
【问题描述】:
如何在mac中保留目录结构的同时将文件从一个目录复制到另一个目录?
我发现你可以使用 cp --parents in ubuntu 但不幸的是,这在 mac 中不起作用。
【问题讨论】:
如何在mac中保留目录结构的同时将文件从一个目录复制到另一个目录?
我发现你可以使用 cp --parents in ubuntu 但不幸的是,这在 mac 中不起作用。
【问题讨论】:
我最终使用rsync -R 来解决这个问题。
【讨论】:
rsync -Rr: -R 来表示相对路径名,-r 表示递归下降到子目录。 (当然,这仅在您想要目录而不是专门选择的文件时才重要。)
在 OS X 上,您可以使用 ditto <source> <destination>
请看这里: http://osxdaily.com/2014/06/11/use-ditto-copy-files-directories-mac-command-line/
【讨论】:
rsync -R 更有效,因为它可以将带有路径的单个文件复制到另一个保留路径的单个文件。
我已经厌倦了手动编写这个,所以我将提供一种非 rsync 方式以供将来参考。
#!/bin/bash
cpParents() {
src=(${*: 1:-1})
dest=${*: -1:1}
for filename in $src; do
[ -e "$filename" ] || continue
dirPath=$(dirname "${filename}")
mkdir -p $dest/$dirPath
cp $filename $dest/$dirPath
done
}
【讨论】: