gpt4 book ai didi

rsync - 包含与 rsync 中排除的其他文件夹同名的文件夹

转载 作者:行者123 更新时间:2023-12-02 07:07:43 31 4
gpt4 key购买 nike

所以我有这个代码:

rsync \
--archive \
--verbose \
--compress \
--delete \
--no-motd \
--exclude=.git* \
--exclude=.idea \
--exclude=.tags \
--exclude=vendor \
--exclude=tags \
--exclude=node_modules \
--rsync-path="sudo rsync" \
"${src}"/ \
"${profile}":"${dst}"

而且效果很漂亮!但我有一个问题......这个树结构:

.
├── app
│   ├── vendor/
├── vendor/

它不起作用。我只想排除 ./vendor 但包含 ./app/vendor。我尝试过使用 --include 但结果是相同的:app/vendor 始终被排除。

最佳答案

有两种方法可以做到这一点:

  1. 使用--include:

    rsync \
    .... \
    --include=app/vendor \
    --exclude=vendor \
    ....

    即将 --include 放在 --exclude

  2. 之前
  3. 使用更具体的--exclude:

    rsync \
    .... \
    --exclude=/vendor \
    ....

    即仅排除源目录根目录中的供应商(不要与文件系统根目录混淆)。

包含/排除规则的基本规则是 rsync 将使用匹配任何给定文件的第一个规则。您将特定规则放在顶部,将一般规则放在底部。如果您向后查看它们,您会发现您的特定覆盖不起作用。

关于rsync - 包含与 rsync 中排除的其他文件夹同名的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518966/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com