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

AWS S3 cp命令如何使用含下划线的include模式匹配复制文件

AWS CLI s3 cp 命令include模式中下划线精准匹配方法

问题核心原因

匹配失效和下划线本身的转义无关,核心是踩了AWS CLI S3筛选的两个默认逻辑坑:

  • 默认规则为全量包含所有文件,仅添加--include参数不会排除不符合匹配规则的文件,只会在全量包含的基础上额外追加匹配范围
  • --exclude、--include参数按书写顺序从左到右依次生效,顺序错误会直接导致匹配失效

正确配置命令

下划线_在AWS CLI的通配匹配规则中属于普通字符,不需要任何转义,只需要先添加全量排除规则,再追加目标匹配规则即可:

aws s3 cp s3://BUCKET/ LocalFolder --recursive --exclude "*" --include "20220630_0840*"

之前方案失效的具体原因

  • 方案1:--include "20220630_0840*" 未添加前置全量排除规则,所有20220630开头的文件本来就在默认全量包含范围内,规则没有起到过滤作用
  • 方案2:--include "[20220630_0840]*" 方括号在通配规则中代表字符集匹配,逻辑为匹配括号内任意单个字符开头的文件,匹配规则本身写法错误
  • 方案3:--include "20220630\_0840*" 反斜杠转义下划线属于多余操作,下划线不是特殊元字符不需要转义,同时因为缺少全量排除规则,依然无法过滤非目标文件

匹配效果验证方法

正式执行复制操作前,可以把cp替换为ls命令先查看匹配结果,不会产生实际文件传输:

aws s3 ls s3://BUCKET/ --recursive --exclude "*" --include "20220630_0840*"

返回的文件列表和预期一致时,再替换为cp命令执行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:57:23