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

Unix/Mac OS X: Use file list to copy files and folder keeping the directory structure

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

例子:

源文件夹:

1
2
3
4
5
6
7
8
/home/a/
    file1.jpg
    file2.jpg
    file3.jpg
/home/b/
    file4.jpg
    file5.jpg
    file6.jpg

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

1
2
./a/file2.jpg
./b/file5.jpg

预期结果:

1
2
3
4
/home/dest/a/
    file2.jpg
/home/dest/b/
    file5.jpg

在StackOverflow上尝试了用不同的问题修改cp,但每次都得到一个扁平的文件夹结构。

在OSX终端上使用bash

请告诉我怎么做。


您可以使用rsync

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