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

如何使用jq 1.5保留对象关联并返回指定属性?

问题描述

通过ip -json route show > ip_routes.json命令生成路由信息的JSON文件后,使用jq筛选dev为eth0且dst不为default的对象时,若直接提取.dev和.prefsrc属性,会导致这两个属性的对象关联关系丢失,输出变成独立的字符串,无法保留原本的键值对结构。

解决方案

使用以下jq命令即可保留属性的关联结构,输出包含目标键值对的对象数组:

jq '. | map(select(.dev == "eth0" and .dst != "default") | {dev, prefsrc})' ip_routes.json

命令说明:

  • . 表示处理整个输入的JSON数组
  • map() 遍历数组中的每个路由对象
  • select() 筛选出dev等于eth0且dst不等于default的条目
  • {dev, prefsrc} 为符合条件的条目构造只包含dev和prefsrc属性的新对象,保留两者的关联关系

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:14:56