加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 16:38:06 所属栏目:安全 来源:网络整理
导读:我希望: cp -R src/prog.js images/icon.jpg /tmp/package 将在目的地目录中产生对称结构: /tmp|+-- package | +-- src | | | +-- prog.js | +-- images | +-- icon.jpg 而是将这两个文件复制到/ tmp / package中。平复
我希望:
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建议。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读