You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在rsync exclude字段匹配指定字符或空值?简化排除命令

rsync 合并排除规则的正确写法

要合并原有的两条排除规则,同时避免误匹配wtrash这类无关路径,你可以利用rsync支持的扩展glob语法,通过@(pattern1|pattern2)结构匹配两种目标模式:

rsync --exclude '@(.[tT]rash*|[tT]rash*)/*' <omissis>

说明:

  • @(.[tT]rash*|[tT]rash*) 表示匹配两种路径前缀中的任意一种:
    1. .[tT]rash*:匹配以.开头、后跟大小写Trash开头的目录
    2. [tT]rash*:匹配直接以大小写Trash开头的目录
  • 后缀/*表示排除这些目录下的所有内容,和原规则的逻辑完全一致
  • 用单引号包裹模式,避免shell提前解析扩展语法,确保rsync能正确识别

如果你的shell默认未开启扩展glob支持(比如bash),可以先执行shopt -s extglob再运行rsync命令,不过rsync本身也能直接解析这种模式。

内容的提问来源于stack exchange,提问作者Antonio Rizzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 19:07:14