如何使用jq统计adminLock等于1的domains条目数量?
统计JSON中adminLock等于1的domains条目总数
你已经用jq '.data.data[] | select(.adminLock == 1) | .domains'筛选出了符合条件的域名,要完成计数有两种常用方法:
方法1:直接用jq内部计数(推荐)
无需先输出每个域名,直接让jq统计符合条件的条目数量,效率更高且能避免特殊字符干扰计数:
jq '[.data.data[] | select(.adminLock == 1)] | length' your_json_file.json
更简洁的写法:
jq '.data.data | map(select(.adminLock == 1)) | length' your_json_file.json
如果是从管道输入数据(比如接口返回结果):
curl your_api_url | jq '.data.data | map(select(.adminLock == 1)) | length'
方法2:结合wc命令计数
基于你已有的jq筛选结果,通过管道传给wc -l统计行数:
jq '.data.data[] | select(.adminLock == 1) | .domains' your_json_file.json | wc -l
注意:如果域名包含换行符,这种方法会统计错误,因此优先推荐方法1。
示例数据测试结果
用你提供的示例JSON运行方法1的命令,会返回5,和示例中adminLock=1的条目数(dome2.com、dome4.com、dome5.com、dome6.com、dome7.com)一致。
内容的提问来源于stack exchange,提问作者study
相关产品推荐
相关产品推荐

