在Ubuntu,我有
jq '.[] | {addr: .addr, subver: .subver, inbound: .inbound, synced_blocks: .synced_blocks} | select(.synced_blocks < 77982)'
{
"addr": "299.247.7.254:8268",
"subver": "/String:0.22.5.7/",
"inbound": false,
"synced_blocks": 77979
}
{
"addr": "228.290.206.224:8268",
"subver": "/String:0.22.5.6/",
"inbound": false,
"synced_blocks": 77980
}
{
"addr": "208.62.262.244:55226",
"subver": "/String:0.22.5.7/",
"inbound": true,
"synced_blocks": 77978
}
{
"addr": "200.2.222.25:50452",
"subver": "/String:0.22.5.7/",
"inbound": true,
"synced_blocks": 77980
}
{
"addr": "220.92.79.44:50970",
"subver": "/String:0.22.4.2/",
"inbound": true,
"synced_blocks": -2
}
{
"addr": "45.22.228.69:57462",
"subver": "/String:0.22.5.7/",
"inbound": true,
"synced_blocks": 77980
}
{
"addr": "29.206.256.229:8268",
"subver": "/String:0.22.5.7/",
"inbound": false,
"synced_blocks": 77980
}也是
select(.subver | contains("0.22.5.7") | not)在subver不包含"0.22.5.7“的情况下显示结果。但在这两种情况下我都不能适应OR。
如何仅显示子程序不包含"0.22.5.7“或.synced_blocks < 77982的结果?
发布于 2018-03-11 23:01:38
这里不明显的主要问题是修复后的"not":
select( ( .subver | test("(^|:)0.22.5.7($|/)") | not) or
.synced_blocks < 77982)https://stackoverflow.com/questions/49225840
复制相似问题