Bash:以递归方式复制命名文件,保留文件夹结构

前端之家收集整理的这篇文章主要介绍了Bash:以递归方式复制命名文件,保留文件夹结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望:
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的等效。

你试过使用–parents选项吗?我不知道OS X是否支持,但是在Linux上工作。
cp --parents src/prog.js images/icon.jpg /tmp/package

如果这在OS X上不起作用,请尝试

rsync -R src/prog.js images/icon.jpg /tmp/package

如aif建议。

猜你在找的Bash相关文章