我有一个纯文本文件,其中包含数百个文件的名称,这些文件的路径相对于主目录(如果需要,可以是绝对路径)在各个子目录中。主目录包含多个目录和数千个文件。我需要创建另一个目录来复制列表中的文件,同时在目标中维护它们的目录结构。
示例:
源文件夹:
/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
请告诉我们如何做到这一点。
答案 0 :(得分:4)
您可以使用rsync
:
rsync --relative --files-from file-list.txt /home /home/dest