【发布时间】:2020-12-24 09:11:47
【问题描述】:
尝试将文件从目录 (d1) 递归复制到目录 (d2) 使用列表排除一些文件和文件夹: 要排除的文件路径存储为 files.txt 和目录列表排除存储为 dirs.txt。
已经阅读了一些 SOF 文章,例如 Copy folder recursively, excluding some folders BASH copy all files except one
试过rsync
rsync -avr --exclude=*/exclude_filename_* d1/ d2/
但通配符也不适合,因为有大量不同的文件名。 也许我必须使用带有 rsync 的 WHILE 循环..?仍在寻找解决方案。 有人知道怎么做吗?
【问题讨论】:
-
man rsync和--exclude-from=FILE read exclude patterns from FILE所以让rsync读取要从每个文件中排除的文件。您可以使用两个--exclude-from=选项。另请参阅--filter=RULE选项,它为您提供了一种稍微不同的方式来控制从传输中过滤哪些文件。 -
是的,我还在寻找
-
请提供minimal reproducible example。你想让它做什么,它现在在做什么,...?