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

如何在Bash中用grep提取REST API返回JSON的resources数组内容

实现方案

首先说明:grep本身是基于文本匹配的工具,不支持JSON结构解析,以下方案仅适用于你给出的场景(resources数组元素都是普通字符串,内部没有嵌套的[]结构),如果是复杂JSON结构更推荐用jq这类专用JSON处理工具。

纯grep提取原始内容

使用grep的PCRE正则模式即可完成提取,假设你的API返回内容存在文件resp.json中,命令如下:

grep -oP '"resources"\s*:\s*\[[^\]]+\]' resp.json

如果是直接处理curl的返回结果,直接用管道连接即可:

curl "你的REST API请求地址" | grep -oP '"resources"\s*:\s*\[[^\]]+\]'

参数解释:

  • -o:仅输出匹配到的片段,不输出整行其他内容
  • -P:启用Perl兼容正则模式,支持更灵活的匹配规则
  • 正则规则:匹配"resources"字段开头,跳过冒号前后的空白字符,匹配从[到第一个]之间的所有内容

输出带缩进的美化格式

如果你需要和示例一致的换行缩进效果,grep本身没有JSON格式化能力,可以配合系统自带的Python json工具实现,不需要额外安装依赖:

curl "你的REST API请求地址" | grep -oP '"resources"\s*:\s*\[[^\]]+\]' | python3 -m json.tool

如果你的系统只有Python2,把命令里的python3替换为python即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 09:45:08