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

如何使用jq按region字段包含条件筛选ip_prefix并输出CSV

问题解决:筛选region含us-west-的ip_prefix并输出CSV

原命令错误原因

你之前的命令先把每个prefixes对象的ip_prefix和region拆成了两个独立的输出值,再对所有值做contains("us")匹配,自然只会输出命中的region字段,和预期的「先筛选符合条件的条目、再提取对应字段」逻辑完全相反。

正确命令

输出纯文本每行一个IP段(无额外引号)

jq -r '.prefixes[] | select(.region | contains("us-west-")) | .ip_prefix' file.json

针对你给出的示例JSON,执行后输出为:

52.93.178.234/32

输出标准CSV格式(支持多字段扩展)

如果需要生成合规CSV,后续可扩展添加region等字段:

# 仅输出ip_prefix列,自带表头
jq -r '["ip_prefix"], (.prefixes[] | select(.region | contains("us-west-")) | [.ip_prefix]) | @csv' file.json

执行后输出带表头的CSV内容:

"ip_prefix"
"52.93.178.234/32"

命令参数说明

  • -r:输出原始字符串,避免jq默认给结果加JSON转义引号
  • 执行顺序:先遍历所有prefixes条目→筛选region符合要求的条目→提取目标字段→格式化输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:57:03