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

AWS CLI 2.7.24使用--include/--exclude参数报错:未知选项

解决AWS CLI递归列出S3特定扩展名文件的问题

问题根源

aws s3 ls命令不支持--exclude和--include参数,这两个选项仅适用于aws s3 cp、aws s3 sync等同步/拷贝类命令,因此添加后会触发「未知选项」的错误。

可行解决思路

  • 使用aws s3api list-objects-v2(推荐,更高效)
    该命令支持通过JMESPath查询语法直接过滤对象,无需后续文本处理,适合大规模存储场景:

    # 仅列出符合条件的文件路径
    aws s3api list-objects-v2 --bucket myfiles --prefix folders/ --query "Contents[?ends_with(Key, '.txt')].Key"
    
    # 列出包含大小、最后修改时间的详细信息
    aws s3api list-objects-v2 --bucket myfiles --prefix folders/ --query "Contents[?ends_with(Key, '.txt')].{文件路径: Key, 文件大小: Size, 最后修改: LastModified}"
    

    说明:--bucket指定S3桶名,--prefix对应原路径s3://myfiles/folders/中的前缀部分,--query通过ends_with函数筛选后缀为.txt的对象。

  • 结合递归列表与文本过滤工具
    先通过aws s3 ls --recursive列出所有内容,再用系统自带的文本过滤工具筛选结果:

    • Linux/macOS(使用grep):
      aws s3 ls --recursive s3://myfiles/folders/ | grep "\.txt$"
      
    • Windows命令提示符(使用findstr):
      aws s3 ls --recursive s3://myfiles/folders/ | findstr /E ".txt"
      

    说明:grep "\.txt$"匹配行尾为.txt的内容,Windows下findstr /E表示匹配行尾。

  • 检查AWS CLI安装方式
    AWS CLI v2官方不推荐通过pip安装(pip主要用于v1版本),若你用pip install -U awscli升级,可能导致版本或参数支持异常。建议:

    1. 执行aws --version确认版本是否为aws-cli/2.7.24;
    2. 若为pip安装的v2,先卸载:pip uninstall awscli;
    3. 按照AWS官方对应系统的安装包重新安装v2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:33:14