我有一个带有test-bucket
文件夹的AWS S3存储桶data
。数据文件夹将包含多个文件。
我可以删除S3存储桶中的文件。
但我想要的是删除data
文件夹中的文件而不删除文件夹。
我尝试了以下内容:
aws s3 rm s3://test-bucket/data/*
还使用--recursive
选项进行了检查,但这不起作用。
有没有办法可以使用AWS CLI删除文件夹中的文件?
答案 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。