使用jq,我想获取块的“name”值,其中“Media”属性(在.session.attributeList下)包含“node7000”字符串(在示例中,json第一个数组块与其匹配 - 有两个匹配:
“值”:“节点7000”
"value": "node7000 和 node8000"
预期 jq 输出为:
“17200站”
[{
"name": "Station 17200",
"attributes": [{
"name": "EnableLog",
"value": "1"
}, {
"name": "LogFont",
"value": "0"
}, {
"name": "IdleTimer",
"value": "30"
}
],
"session": [{
"attributeList": [{
"name": "Launch",
"value": "1"
}, {
"name": "Media",
"value": "node7000"
}
]
}, {
"attributeList": [{
"name": "Group",
"value": "1"
}, {
"name": "RMedia",
"value": "1"
}
]
}, {
"attributeList": [{
"name": "Launch",
"value": ""
}, {
"name": "Media", …
Run Code Online (Sandbox Code Playgroud) jq 打印 csv,如下所示:
... | [.name, .userId, .groupId] | @csv'
Run Code Online (Sandbox Code Playgroud)
打印什么:
"nodea","0","6"
"nodeb","1","0"
Run Code Online (Sandbox Code Playgroud)
我如何处理它以获得“n/a”而不是 0,并且对于 >0 值适当的注释/注释,例如:
"nodea","n/a","group:6"
"nodeb","user:1","n/a"
Run Code Online (Sandbox Code Playgroud)
在 jq 中可行还是仅在后处理中可行,例如。在 awk 中?谢谢