如何使用wild字符从aws s3中选择文件

use*_*193 12 amazon-s3 amazon-web-services amazon-emr

我在s3存储桶中有很多文件,我想复制那些开始日期为2012的文件.下面的命令会复制所有文件.

aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive  --include "201502_nts_*.xlsx"
Run Code Online (Sandbox Code Playgroud)

bsn*_*han 20

您可能希望在包含过滤器之前添加"--exclude"标志.

AWS CLI使用过滤器"--include"将其包含在您现有的搜索中.由于返回了所有文件,因此在包含2015*.xlsx之前,您需要先排除所有文件.

如果您想要只有格式为"201502_nts _*.xlsx"的文件,则可以运行 aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive --exclude * --include "201502_nts_*.xlsx"

  • --exclude和--include过滤器标志仅适用于s3对象操作(例如cp,mv,rm).`ls`是一个目录操作.您可以运行ls命令并将其传递给grep:`aws s3 ls s3:// bp-dev/bp_source_input/--recursive | grep 201502_nts _*.xlsx` (3认同)

小智 5

我必须在--exclude *通配符周围加上引号,因此它看起来像:

aws s3 cp s3://bp-dev/bp_source_input/ C:\Business_Panorama\nts\data\in --recursive --exclude "*" --include "201502_nts_*.xlsx"
Run Code Online (Sandbox Code Playgroud)