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

如何从JSON文件中grep提取值:获取汽车类型、产地、品牌对应字段

处理结构化JSON数据推荐使用专门的JSON处理工具jq,不要用普通grep做模糊匹配,避免匹配到非目标字段的内容。

第一步:安装jq

  • Debian/Ubuntu 系统:sudo apt install jq
  • CentOS/RHEL 系统:sudo yum install jq
  • macOS 系统:brew install jq

假设你的JSON文件保存为car.json,以下是三个需求的对应操作:

1. 列出所有汽车类型(gas/electric)

执行命令:

jq -r '.[].Cars | keys[]' car.json | sort -u

输出结果:

electric
gas

说明:-r参数输出无引号的原始字符串,keys[]提取对象的所有键值,sort -u对结果去重。如果需要指定仅查询某个州的数据,可以添加筛选条件,比如只查询纽约的汽车类型:jq -r '.[] | select(.State == "New York") | .Cars | keys[]' car.json

2. 指定汽车类型后,列出对应生产地分类

比如你已经选定类型为gas,执行命令:

jq -r '.[].Cars.gas | keys[]' car.json | sort -u

输出结果:

OutsideUS
USAMade

如果要查询electric类型的生产地,只需要把命令里的gas替换为electric即可。

3. 指定类型和生产地后,列出对应汽车品牌

比如你选定类型为gas、生产地为USAMade,执行命令:

jq -r '.[].Cars.gas.USAMade | keys[]' car.json | sort -u

输出结果:

Ford

如果要查询electric类型、OutsideUS生产地的品牌,把路径替换为.Cars.electric.OutsideUS即可。

注意:如果坚持要用grep做临时快速查询,可以用grep -o '"gas"\|"electric"' car.json | sort -u这类命令实现,但该方法是基于文本模糊匹配,若JSON其他字段值包含目标字符串会出现误匹配,不推荐正式场景使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:15:11