我的 gcloud 查询获取了 2 组值,如何分别显示它们?

My gcloud query fetches 2 sets of values, how do I display them separately?

以下 gcloud 查询(有点)returns 组织内的所有 GCP 文件夹:

ORG=$(\
  gcloud organizations list \
  --format="value(name)")
FOLDERS=$(\
  gcloud resource-manager folders list \
  --format="value(ID,displayName)" \
  --organization=${ORG})

for FOLDER in ${FOLDERS}
do
  echo ${FOLDER}
done
  1. 如何分别回显文件夹 ID 和文件夹显示名称?

  2. 此外,文件夹 displayNames 包含空格。我想我需要使用 base64 编码 + 解码才能正确显示它们。但是我不知道该怎么做。

有人可以指导我吗?谢谢

我的方法是从 gcloud 命令输出 CSV,该命令使用 format="csv(ID,displayName) 提供循环范围以给出逗号分隔的值,然后使用 IFSread 将字符串拆分为 2 个字段

在您的 for 循环中,您可以使用:

IFS=, read ID,DISPLAY_NAME <<< ${FOLDER}

IIRC 您可以 --format="csv(ID, displayName.encode(base64))" 编码 displayName,然后使用 bash 的 base64 --decode 对其进行解码。我在这里 某处有一个例子,它与 gcloud 一起使用,但在我的 phone 上,搜索起来不太容易。

找到了:

顺便说一句,这些函数都被记录在案——尽管不容易找到——如gcloud topic projections