Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Amazon s3cmd ls

I have a requirement to list the file from an Amazon S3 location:

BUCKET= "s3://static.abc.com"
s3cmd ls --recursive $BUCKET/colorpics/*/640/

The colorpics directory contains multiple sub-directories for years like:

2013
2014
2015
2016

So the ls command should list the images for all the years dynamically and it should list only from next level sub-directory /640/.

If I give /*/ it works when the file system is mounted. But when I try to list from the bucket it fails.

Is there anyway I can achieve it?

like image 696
Shreya Avatar asked Sep 25 '26 17:09

Shreya


1 Answers

The Amazon S3 API can return the content of a bucket based on a prefix such as s3://static.abc.com/colorpics/, however it cannot have a wildcard mid-pattern. This is probably why s3cmd cannot provide that functionality.

By the way, these days it is better to use the official AWS Command-Line Interface (CLI), which has a matching aws s3 ls command.

like image 177
John Rotenstein Avatar answered Sep 29 '26 01:09

John Rotenstein



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!