【发布时间】:2010-12-11 15:10:44
【问题描述】:
我希望:
cp -R src/prog.js images/icon.jpg /tmp/package
将在目标目录中产生对称结构:
/tmp
|
+-- package
|
+-- src
| |
| +-- prog.js
|
+-- images
|
+-- icon.jpg
但是,这两个文件都被复制到 /tmp/package 中。一个平面副本。 (这是在 OSX 上)。
是否有一个简单的 bash 函数可以用来复制所有文件,包括通配符指定的文件(例如 src/*.js)到目标目录中的正确位置。有点像“对于每个文件,运行mkdir -p $(dirname "$file"); cp "$file" $(dirname "$file")”,但可能是一个命令。
This is a relevant thread, which suggests it's not possible. 虽然作者的解决方案对我来说不是那么有用,因为我只想提供一个文件列表,无论是否是通配符,并将它们全部复制到目标目录。 IIRC MS-DOS xcopy 可以做到这一点,但 cp 似乎没有等价物。
【问题讨论】: