
关于
高效处理 JSON、YAML 和 TOML 数据,支持转换管道、验证和格式转换。
name: data-processing description: "使用 jq 处理 JSON,使用 yq 处理 YAML/TOML。高效过滤、转换、查询结构化数据。触发条件:parse JSON、extract from YAML、query config、Docker Compose、K8s manifests、GitHub Actions workflows、package.json、filter data。" license: MIT compatibility: "需要 jq 和 yq CLI 工具。安装:brew install jq yq (macOS)。" allowed-tools: "Bash Read" metadata: author: claude-mods
数据处理
从命令行高效查询、过滤和转换结构化数据(JSON、YAML、TOML)。
工具
| 工具 | 命令 | 用途 |
|------|---------|---------|
| jq | jq '.key' file.json | JSON 处理 |
| yq | yq '.key' file.yaml | YAML/TOML 处理 |
jq 要点
# 提取单个字段
jq '.name' package.json
# 提取嵌套字段
jq '.scripts.build' package.json
# 从数组提取
jq '.dependencies[0]' package.json
# 提取多个字段
jq '{name, version}' package.json
# 深层嵌套导航
jq '.data.users[0].profile.email' response.json
# 按条件过滤
jq '.users[] | select(.active == true)' data.json
# 转换每个元素
jq '.users | map({id, name})' data.json
# 计数元素
jq '.users | length' data.json
# 原始字符串输出
jq -r '.name' package.json
yq 要点
# 提取字段
yq '.name' config.yaml
# 提取嵌套
yq '.services.web.image' docker-compose.yml
# 列出所有键
yq 'keys' config.yaml
# 列出所有服务名(Docker Compose)
yq '.services | keys' docker-compose.yml
# 获取容器镜像(K8s)
yq '.spec.template.spec.containers[].image' deployment.yaml
# 原地更新值
yq -i '.version = "2.0.0"' config.yaml
# TOML 转 JSON
yq -p toml -o json '.' config.toml
快速参考
| 任务 | jq | yq |
|------|----|----|
| 获取字段 | jq '.key' | yq '.key' |
| 数组元素 | jq '.[0]' | yq '.[0]' |
| 过滤数组 | jq '.[] \| select(.x)' | yq '.[] \| select(.x)' |
| 转换 | jq 'map(.x)' | yq '.[] .x' |
| 计数 | jq 'length' | yq 'length' |
| 原始输出 | jq -r | yq -r |
| 原地编辑 | 不支持 | yq -i |
附加资源
./references/jq-advanced.md- 高级 jq 模式./references/yq-patterns.md- yq 完整参考
兼容工具
Claude CodeCursor
标签
数据工程
