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

如何使用Jq输出CSV等带分隔符的文本供其他CLI工具使用

jq输出带分隔符格式的实现方法

用jq处理JSON数据后,要输出为CSV/TSV这类带分隔符的格式供其他CLI工具读取非常简单,直接用jq内置的数组拼接+join函数或者@csv格式化器即可实现。

对应示例的具体实现命令

针对你给出的输入JSON,要输出a、c两列的逗号分隔格式,执行以下命令即可得到匹配的结果:

jq -r '["a","c"], (.[] | [.a, .c]) | join(",")' 你的数据文件路径.json

命令说明

  • -r参数:开启原始输出模式,输出的内容不会被自动包裹双引号,也不会转义特殊字符,输出结果可以直接被awk、cut、bash内置read命令读取
  • jq表达式逻辑:
    • 先构造["a","c"]数组作为表头行
    • 遍历输入JSON数组的每一个对象,提取每个对象的a、c字段值拼成新数组
    • 所有数组统一用join(",")拼接为逗号分隔的字符串

扩展用法

  • 自定义分隔符:如果需要制表符分隔(更适合CLI工具处理,避免字段内容含逗号导致解析错误),把join(",")替换为join("\t")即可输出TSV格式
  • 字段含特殊字符的场景:如果你的字段值可能包含分隔符、换行符、双引号等特殊字符,建议使用jq内置的@csv格式化器,它会自动按照标准CSV规则转义字段,命令如下:
jq -r '["a","c"], (.[] | [.a, .c]) | @csv' 你的数据文件路径.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:24:04