如何在命令行过滤cURL返回JSON中含DHCPREQUEST的消息?
解决jq过滤DHCPREQUEST日志的问题
问题排查
你的命令存在两处关键错误:
- JSON结构中根节点是
log,但你写的是logs,路径匹配失败 select(.!="DHCPREQUEST")是判断字符串不等于"DHCPREQUEST",而你需要筛选包含该关键词的消息,逻辑完全相反
正确命令
将curl结果管道到以下jq命令即可得到目标内容:
curl [你的目标URL] | jq -r '.log | .[].message.message | select(. | contains("DHCPREQUEST"))'
输出结果
原始英文结果
DHCPREQUEST received (STATE_RENEWING) for 192.168.0.12 from b1:00:00:02:e1:2f.
中文翻译
收到来自MAC地址b1:00:00:02:e1:2f的192.168.0.12的DHCP请求(状态:续约中)。
内容的提问来源于stack exchange,提问作者Peter Asp
相关产品推荐
相关产品推荐

