How to delete files recursively from an S3 bucket

amazon-s3, amazon-web-services

Solution

With the latest aws-cli python command line tools, to recursively delete all the files under a folder in a bucket is just:

aws s3 rm --recursive s3://your_bucket_name/foo/

Or delete everything under the bucket:

aws s3 rm --recursive s3://your_bucket_name

If what you want is to actually delete the bucket, there is one-step shortcut:

aws s3 rb --force s3://your_bucket_name

which will remove the contents in that bucket recursively then delete the bucket.

Note: the `s3://` protocol prefix is required for these commands to work

Problem

I have the following folder structure in S3. Is there a way to recursively remove all files under a certain folder (say `foo/bar1 or foo or foo/bar2/1` ..) ``` foo/bar1/1/.. foo/bar1/2/.. foo/bar1/3/.. foo/bar2/1/.. foo/bar2/2/.. foo/bar2/3/.. ```

Original source

Related problems