【发布时间】:2017-03-09 23:14:51
【问题描述】:
我正在使用 gcloud describe 命令获取有关实例的元数据信息。使用 jq 过滤 json 响应以获取实例名称的最佳方法是什么 - 如果它包含“kafka”作为键。
.name + " " + .metadata.items[]?.key |选择(包含(“kafka”))'
基本上如果items包含kafka打印名称。这只是json文件的一小段摘录。
"metadata": {
"fingerprint": "xxxxx=",
"items": [
{
"key": "kafka",
"value": "xxx="
},
{
"key": "some_key",
"value": "vars"
}
],
"kind": "compute#metadata"
},
"name": "instance-name",
"networkInterfaces": [
{
"accessConfigs": [
{
"kind": "compute#accessConfig",
"name": "External NAT",
"natIP": "ip",
"type": "ONE_TO_ONE_NAT"
}
],
"kind": "compute#networkInterface",
"name": "",
"network": xxxxx
}
],
【问题讨论】:
-
jq 有一个
unique函数。 -
给定的 sn-p 不包含“名称”并且确实不是有效的 JSON。请提供一个最小的完整可验证示例(请参阅stackoverflow.com/help/mcve)。