我这里的问题是,每个项目的标签都不是相同的数字或键。所以,我需要检索我有权访问的每个项目的所有标签,并将其放在CSV文档中。
现在我尝试使用gcloud projects list --format="csv[no-heading](labels)"
来获取它们,但正如我所说的,问题是如何在所有项目中获取列名,然后如何将值放置到合适的位置。
上面命令的结果是一个由“;”分隔的key=value列表,我不知道如何正确排列。
我尝试过使用--format="json" | jq -r '.[].labels'
并格式化输出,但在如何修复所有项目中的所有键时遇到了同样的问题。
也许我只是累了,应该休息,但任何建议将不胜感激。
1条答案
按热度按时间h79rfbju1#
假设这是您想要的以下输入的输出:
输出
字符串
输入
型
解决方案
这将工作(demo):
型
可读形式:
型
方法
本质上,第一个过滤器为每个标签创建一个对象,如下所示:
型
第二个过滤器生成以下内容,并将其导入
@csv
以获得我们需要的格式:型
需要注意的几点:
to_entries
函数将每个标签转换为{ key : "some-key", value: "some-value" }
形式。label : (.labels | to_entries) []
中的[]
操作符使同一项目下的多个标签实际上成为单独的对象。--raw-output
标志不会转义字符串周围的引号。