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

使用jq导出CSV时如何避免其解析换行符

问题原因

JSON字符串中的\n是转义序列,jq解析时会将其转换为真实的换行符,@csv过滤器默认会保留字段内的真实换行,最终就会出现你遇到的字段内换行的问题。你需要先把值里的真实换行替换为字面量\n字符串,再做CSV格式化。

正确命令

cat tmp.json | jq -r '.results | (first | map(.field)), (.[] | map(.value | gsub("\n"; "\\n"))) | @csv'

命令说明

相比你原来的命令,仅在取.value之后新增了gsub("\n"; "\\n")处理,作用是把每个字段值中所有的真实换行符,替换为字面量的\n字符串,再交给@csv做格式化,最终输出就会符合你的预期。

输出验证

执行上述命令后得到的输出如下:

"field1","field2"
"value1-1","value1-2\n"
"value2-1","value2-2\n"

内容的提问来源于stack exchange,提问作者hermit.crab

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:36:00