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

如何用jq提取JSON子数组前两元素并以短横线连接?

解决方案

你之前的命令方向有误,.[][]会把所有嵌套数组的元素扁平化输出,导致原本成对的元素被拆分开,无法直接关联。正确的思路是针对data数组里的每一个子数组单独处理,将每个子数组的前两个元素用-拼接。

最终可用命令

jq -r '.data[] | "\(.[0])-\(.[1])"' ./data.txt

命令细节解释

  • .data[]:遍历JSON中data数组下的每一个子数组
  • "\(.[0])-\(.[1])":利用jq的字符串插值语法,把当前子数组的第1个元素(索引0)和第2个元素(索引1)用-连接成完整字符串
  • -r:指定输出原始字符串(去掉JSON格式的引号)

执行后会直接输出你期望的结果:

2.16.1.0-2.16.1.255
2.16.3.0-2.16.3.255
2.16.6.0-2.16.7.255

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 17:39:55