在 jq with_entries 上解析
Parsing on jq with_entries
我有以下数据
命令输出:
| jq '.rrsets[]'
{
"comments": [],
"name": "name1.",
"records": [
{
"content": "10.10.10.10",
"disabled": false
}
],
"ttl": 60,
"type": "A"
}
{
"comments": [],
"name": "name2.",
"records": [
{
"content": "20.20.20.20",
"disabled": false
}
],
"ttl": 60,
"type": "CNAME"
}
我想获取类型为 A 的名称。
求助,告诉我怎么做?
| jq '.rrsets[] | with_entries(select(.key== "name", .value == "A"))'
{
"name": "name1."
}
{
"name": "name2.",
"type": "A"
}
显示所有行,但我只需要 where type = A
我不确定这是否是您要找的东西,但是 ... | select(.type == "A")
不就可以吗?
... | jq '.rrsets[] | select(.type == "A")'
{
"comments": [],
"name": "name1.",
"records": [
{
"content": "10.10.10.10",
"disabled": false
}
],
"ttl": 60,
"type": "A"
}
如果您只需要 .name
(使用 -r
摆脱 JSON 格式):
... | jq -r '.rrsets[] | select(.type == "A").name'
name1.
我有以下数据 命令输出:
| jq '.rrsets[]'
{
"comments": [],
"name": "name1.",
"records": [
{
"content": "10.10.10.10",
"disabled": false
}
],
"ttl": 60,
"type": "A"
}
{
"comments": [],
"name": "name2.",
"records": [
{
"content": "20.20.20.20",
"disabled": false
}
],
"ttl": 60,
"type": "CNAME"
}
我想获取类型为 A 的名称。 求助,告诉我怎么做?
| jq '.rrsets[] | with_entries(select(.key== "name", .value == "A"))'
{
"name": "name1."
}
{
"name": "name2.",
"type": "A"
}
显示所有行,但我只需要 where type = A
我不确定这是否是您要找的东西,但是 ... | select(.type == "A")
不就可以吗?
... | jq '.rrsets[] | select(.type == "A")'
{
"comments": [],
"name": "name1.",
"records": [
{
"content": "10.10.10.10",
"disabled": false
}
],
"ttl": 60,
"type": "A"
}
如果您只需要 .name
(使用 -r
摆脱 JSON 格式):
... | jq -r '.rrsets[] | select(.type == "A").name'
name1.