Unix / Mac OS X:使用文件列表复制保存目录结构的文件和文件夹

时间:2014-03-14 17:56:08

标签: macos bash unix copy

我有一个纯文本文件,其中包含数百个文件的名称,这些文件的路径相对于主目录(如果需要,可以是绝对路径)在各个子目录中。主目录包含多个目录和数千个文件。我需要创建另一个目录来复制列表中的文件,同时在目标中维护它们的目录结构。

示例:

源文件夹:

/home/a/
    file1.jpg
    file2.jpg
    file3.jpg
/home/b/
    file4.jpg
    file5.jpg
    file6.jpg

文件列表:(纯文本,在/ home /中)

./a/file2.jpg
./b/file5.jpg

预期结果:

/home/dest/a/
    file2.jpg
/home/dest/b/
    file5.jpg

尝试了对stackoverflow上的各种问题进行各种修改的cp,但每次都在结果中得到一个平面文件夹结构。

在OS X终端上使用bash

请告诉我们如何做到这一点。

1 个答案:

答案 0 :(得分:4)

您可以使用rsync

rsync --relative --files-from file-list.txt /home /home/dest