You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jq提取JSON中IP与端口并拼接为IP:端口格式报错如何解决

解决方案

你可以直接使用jq的字符串插值功能实现拼接,正确命令如下:

cat output.json | jq -r '.[] | "\(.ip):\(.ports[].port)"'

也可以先把需要拼接的字段组装为数组再调用join方法:

cat output.json | jq -r '.[] | [.ip, .ports[].port] | join(":")'
错误原因说明

你之前的写法中,用逗号分隔.ip和.ports[].port的作用是将两个值作为独立的输出项依次传给下游操作,第一个传入join的是字符串类型的IP值,而join要求输入必须是数组,因此触发了「无法迭代字符串」的报错。

如果单个IP对应多个开放端口,上述命令也会自动逐行输出每个IP:端口的组合,符合常规扫描结果的输出习惯。

内容的提问来源于stack exchange,提问作者alone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 14:48:04