如何使用jq筛选JSON中值大于指定常数的键值对?
用jq筛选值大于指定阈值的JSON键值对
针对你提供的会话长度JSON数据,要筛选出值大于128的键值对,直接用with_entries结合select就能实现,无需复杂操作。
最终命令
jq 'with_entries(select(.value > 128))' session_len.json
输出结果
{"session2":1024,"session3":258,"session5":32456}
命令解释
with_entries(...):遍历JSON对象的所有键值对,对每个条目执行括号内的操作select(.value > 128):筛选出值大于128的条目,不符合条件的会被直接过滤掉
优化生成session_len.json的命令
你原来生成会话长度的命令可以简化,不需要拆分后再处理,直接对原JSON对象操作更高效:
jq 'with_entries(.value |= length)' session_detail.json > session_len.json
内容的提问来源于stack exchange,提问作者Jojo Thomas
相关产品推荐
相关产品推荐

