【问题标题】:copy files while preserving directory structure in mac在Mac中保留目录结构的同时复制文件
【发布时间】:2014-03-25 18:02:20
【问题描述】:

如何在mac中保留目录结构的同时将文件从一个目录复制到另一个目录?

我发现你可以使用 cp --parents in ubuntu 但不幸的是,这在 mac 中不起作用。

【问题讨论】:

    标签: macos cp


    【解决方案1】:

    我最终使用rsync -R 来解决这个问题。

    【讨论】:

    • 我不得不使用rsync -Rr: -R 来表示相对路径名,-r 表示递归下降到子目录。 (当然,这仅在您想要目录而不是专门选择的文件时才重要。)
    【解决方案2】:

    在 OS X 上,您可以使用 ditto <source> <destination>

    请看这里: http://osxdaily.com/2014/06/11/use-ditto-copy-files-directories-mac-command-line/

    【讨论】:

    • 谢谢,这比 rsync -R 更有效,因为它可以将带有路径的单个文件复制到另一个保留路径的单个文件。
    【解决方案3】:

    我已经厌倦了手动编写这个,所以我将提供一种非 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
    }
    

    【讨论】:

    • 如果有等价的黄金,我会给你。非常感谢这个答案。
    猜你喜欢
    • 1970-01-01
    • 2017-06-22
    • 2012-08-17
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多