复制没有文件和隐藏目录的目录树

问题描述 投票:0回答:1

这是将文件夹结构(不带文件)从一个位置复制到另一个位置Rsync如何包含目录但不包含文件?的后续内容,尽管不是重复的。

本质上,我想做同样的事情,即 将目录树从

src
复制到
dst
,而不复制任何文件
(递归),除了我还想跳过所有隐藏文件夹(递归)。

通过添加 --exclude '.*/' 来调整

此答案
未按预期工作:

rsync -av --include '*/' --exclude '.*/' --exclude '*' src/ dst/

因为它还复制隐藏(点)目录,

.hidden
在以下示例中:

building file list ... done
./
.hidden/
a/
a/.hidden/

我希望能解释为什么该尝试不起作用以及问题的解决方案。

directory rsync hidden-files
1个回答
0
投票

来自 rsync 手册页:

规则的顺序很重要,因为第一个匹配的规则就是生效的规则。

因此,将包含移到第一个排除之后::

rsync -av  --exclude '.*/' --include '*/' --exclude '*' src/ dst/
© www.soinside.com 2019 - 2024. All rights reserved.