JohnGB
JohnGB

Reputation: 2016

gsutil returning "no matches found"

I'm trying using gsutil to remove the contents of a Cloud Storage bucket (but not the bucket itself). According to the documentation, the command should be:

gsutil rm gs://bucket/**

However, whenever I run that (with my bucket name substituted of course), I get the following response:

zsh: no matches found: gs://my-bucket/**

I've checked permissions, and I have owner permissions. Additionally, if I specify a file, which is in the bucket, directly, it is successfully deleted.

Other information which may matter:

How do I go about deleting the contents of a bucket?

Upvotes: 47

Views: 12138

Answers (3)

Cyril Duchon-Doris
Cyril Duchon-Doris

Reputation: 13949

If you have variables to replace, you can also just escape the wildcard character

Examples with copy (with interesting flags) and rm

GCP_PROJECT_NAME=your-project-name

gsutil -m cp -r gs://${GCP_PROJECT_NAME}.appspot.com/assets/\* src/local-assets/
gsutil rm gs://${GCP_PROJECT_NAME}.appspot.com/\*\*

Upvotes: 1

sumer raj
sumer raj

Reputation: 1

gsutil rm  gs://bucketName/doc.txt

And for remove entire bucket including all objects

gsutil rm -r gs://bucketname

Upvotes: -5

Mike Schwartz
Mike Schwartz

Reputation: 12145

zsh is attempting to expand the wildcard before gsutil sees it (and is complaining that you have no local files matching that wildcard). Please try this, to prevent zsh from doing so:

gsutil rm 'gs://bucket/**'

Note that you need to use single (not double) quotes to prevent zsh wildcard handling.

Upvotes: 134

Related Questions