常用方法:
将jsonlines转换成csv
示例输入:
{“a”:1,“b”:3}
{“a”:2,“c”:4}
选项说明:
-s
将所有输入转换成一个数组
-r
输出原始字符串,而非json文本
-
文件的第一行的key当作csv的标题:
jq -rs '(.[0] | keys_unsorted) as $keys | $keys, map([.[ $keys[] ]])[] | @csv ' infile
输出:
“a”,“b”
1,3
2, -
文件所有行的key当作csv的标题
jq -rs '(map(keys) | add | unique) as $keys | $keys, map([.[ $keys[] ]])[] | @csv' infile
输出:
“a”,“b”,“c”
1,3,
2,,4 -
自定义输出字段
jq -sr '["b","c"],map([.["b","c"]])[] |@csv' infile
输出:
“b”,“c”
3,
,4