Amazon web services AWS CLI搜索s3存储桶中的文件并复制到其他文件夹
我试图仅将文件从AWS S3Amazon web services AWS CLI搜索s3存储桶中的文件并复制到其他文件夹,amazon-web-services,amazon-s3,aws-cli,Amazon Web Services,Amazon S3,Aws Cli,我试图仅将文件从AWS S3文件夹_Test1文件夹复制到同一存储桶中的文件夹_Test2文件夹 文件夹_Test1: T1_abc_june21.csv T1_abc_june25.csv T2_abc_june29.csv T1_abc_def_june21.csv T2_abc_def_june25.csv T3_abc_def_june29.csv T3_xyz_june29.csv 我必须筛选只有abc的文件名,并排除文件abc\u def: 我试过: aws s3 cp s3:/
文件夹_Test1
文件夹复制到同一存储桶中的文件夹_Test2
文件夹
文件夹_Test1:
T1_abc_june21.csv
T1_abc_june25.csv
T2_abc_june29.csv
T1_abc_def_june21.csv
T2_abc_def_june25.csv
T3_abc_def_june29.csv
T3_xyz_june29.csv
我必须筛选只有abc
的文件名,并排除文件abc\u def
:
我试过:
aws s3 cp s3://$bucket/Folder_Test1/ s3://$bucket/Folder_Test2/ --exclude "*abc_def*" --include "*abc*"
但它不起作用。来自:
这些参数中的任意数量都可以传递给命令。可以通过多次提供--exclude或--include参数来实现,例如--include“.txt”-include“.png”。当存在多个过滤器时,规则是命令后面出现的过滤器优先于命令前面出现的过滤器
因此,问题在于,您的命令是排除了*abc_def*
,然后包括了*abc*
,这将再次添加*abc_def*
文件
您应该能够通过交换订单来修复它:
aws s3 cp s3://$bucket/Folder_Test1/ s3://$bucket/Folder_Test2/ --include "*abc*" --exclude "*abc_def*"
如果它正在复制您不需要的其他文件(例如xyz
),则添加一个exclude
:
aws s3 cp s3://$bucket/Folder_Test1/ s3://$bucket/Folder_Test2/ --exclude "*" --include "*abc*" --exclude "*abc_def*"
这将按照以下顺序应用这些规则:
- 排除一切
- 添加
*abc*
- 排除
*abc_def*
*abc_def*
,然后包括了*abc*
,这将再次添加*abc_def*
文件
您应该能够通过交换订单来修复它:
aws s3 cp s3://$bucket/Folder_Test1/ s3://$bucket/Folder_Test2/ --include "*abc*" --exclude "*abc_def*"
如果它正在复制您不需要的其他文件(例如xyz
),则添加一个exclude
:
aws s3 cp s3://$bucket/Folder_Test1/ s3://$bucket/Folder_Test2/ --exclude "*" --include "*abc*" --exclude "*abc_def*"
这将按照以下顺序应用这些规则:
- 排除一切
- 添加
*abc*
- 排除
*abc_def*