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

如何用grep命令从$result变量的JSON中筛选出Terry的id?

筛选Terry对应id的实现方案

优先使用grep的方法

由于grep并非JSON专用处理工具,需要依赖当前JSON的换行格式来实现匹配:

  • 第一步,定位包含"Terry"的对象块:
echo "$result" | grep -B2 -A0 '"name":"Terry"'

参数说明:-B2 会取匹配行的前2行,确保拿到对应的id行;-A0 表示不获取匹配行之后的内容。

  • 第二步,提取具体的id数值:
echo "$result" | grep -B2 '"name":"Terry"' | grep -oP '"id":\K\d+'

参数说明:

  • -oP 启用Perl兼容正则表达式,只输出匹配到的内容
  • "\K\d+" 表示忽略"id":这部分内容,只提取后面的数字(即id的值)

更可靠的备选方案(JSON专用工具jq)

如果JSON的格式可能发生变化(比如键值对同行排列),grep的方法会失效,此时推荐用jq工具,它是专门处理JSON的工具,语法更稳定:

echo "$result" | jq '.value[] | select(.name == "Terry") | .id'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:57:09