我希望:
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")
”,但也许只有一个命令。
这是一个相关的线程,这表明不可能。不过,作者的解决方案对我而言并没有那么有用,因为我只想提供文件列表(带或不带通配符),并将所有文件复制到目标目录。IIRC MS-DOS xcopy可以执行此操作,但是cp似乎没有等效功能。