使用gsutil列出的通配符文件夹

时间:2017-09-11 13:40:00

标签: google-cloud-platform google-cloud-storage gsutil

我正在尝试列出以固定字符串后跟字母数字字符开头的GCS文件夹。我不想做递归列表。当我试着跟随

让我们说我们有以下文件夹结构(我知道内部没有概念没有文件夹的概念。它只是路径前缀)

gs://somebucket/monitor/a
gs://somebucket/monitor/a/a1.log.gz
gs://somebucket/monitor/a/a2.log.gz
gs://somebucket/monitor/b
gs://somebucket/monitor/b/b1.log.gz
gs://somebucket/monitor/b/b2.log.gz
gs://somebucket/monitor/c
gs://somebucket/monitor1/x
gs://somebucket/monitor1/y
gs://somebucket/monitor1/z

在输出中我想要的是

gs://somebucket/monitor
gs://somebucket/monitor1

我试过以下

$ gsutil ls gs://somebucket/monitor*

$ gsutil ls gs://somebucket/monitor**

但两者都没有提供所需的输出

gsutil中是否有办法实现所需的输出

1 个答案:

答案 0 :(得分:0)

gsutil只会在使用**通配符时列出对象,这意味着除非在monitor的路径somebucket处有一个对象,否则它不会打印{{ 1}}。鉴于此,有两种方法可以直接使用JSON API(提供所需的前缀和using "/" as the delimiter),也可以使用不带**通配符的gsutil,通过grep / Python / {{对字符串进行一些额外的处理1}}。

执行此操作的脚本的快速示例:

gs://somebucket/monitor