【问题标题】:Counting objects in folders in a bucket计算存储桶中文件夹中的对象
【发布时间】:2021-04-23 17:30:38
【问题描述】:

尝试计算存储桶内每个文件夹中的对象(仅 1 层)

这是我尝试过的:

chcp 65001
Foreach($v in gsutil ls "gs://bucket/*"){
    echo $v (gsutil ls $v).Length
}

一开始可以正常工作,但有两种情况会导致错误:

  1. 包含“#”符号的文件夹会导致错误“一个或多个 URL 与对象不匹配。”
  2. 包含中文字符的文件夹(我只试过中文)会有编码问题,导致$v不正确

【问题讨论】:

    标签: powershell gsutil


    【解决方案1】:

    您将需要正则表达式。我从未使用过Powershell,但原理是一样的。您可以像这样使用正则表达式匹配中文字符:

    Documentation

    \p{script=Han}
    
    or
    
    \p{Han}
    

    要仅匹配 #,您可以这样做:

    (\#)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-21
      • 2013-09-29
      • 2010-10-16
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      相关资源
      最近更新 更多