我正在尝试仅将文件从AWS S3Folder_Test1
文件夹复制到Folder_Test2
同一存储桶中的文件夹。
Folder_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_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*
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句