从S3存储桶中的文件夹中删除文件

时间:2017-09-15 19:13:39

标签: amazon-web-services amazon-s3

我有一个带有test-bucket文件夹的AWS S3存储桶data。数据文件夹将包含多个文件。

我可以删除S3存储桶中的文件。 但我想要的是删除data文件夹中的文件而不删除文件夹。

我尝试了以下内容:

aws s3 rm  s3://test-bucket/data/*

还使用--recursive选项进行了检查,但这不起作用。

有没有办法可以使用AWS CLI删除文件夹中的文件?

3 个答案:

答案 0 :(得分:3)

按照aws cli命令工作:

aws s3 rm s3://test-bucket --recursive --exclude="*" --include="data/*.*"

答案 1 :(得分:1)

您可以使用aws cli:https://aws.amazon.com/cli/和一些Unix命令来完成此操作。

此aws cli命令应该起作用:

aws s3 rm s3://<your_bucket_name> --exclude "*" --include "<your_regex>"

如果要包含子文件夹,则应添加标志-递归

或使用Unix命令:

aws s3 ls s3://<your_bucket_name>/ | awk '{print $4}' | xargs -I%  <your_os_shell>   -c 'aws s3 rm s3:// <your_bucket_name>/% $1'

说明: 列出存储桶中的所有文件-管道-> 获取第四个参数(其文件名)-pipe-> 使用aws cli运行删除脚本

答案 2 :(得分:0)

cfgs

从我尝试时看到的情况来看,在末尾添加斜杠意味着删除folder2下的内容,但不包括folder2。