[英]Using jq to parse Array and map to string
我有以下 JSON 数据结构:
{
"data": [
[
{
"a": "1",
"b": "i"
},
{
"a": "2",
"b": "ii"
},
{
"a": "3",
"b": "iii"
}
],
[
{
"a": "4",
"b": "iv"
},
{
"a": "5",
"b": "v"
},
{
"a": "6",
"b": "vi"
}
]
]
}
我需要得到以下output:
1+2+3 i|ii|iii
4+5+6 iv|v|vi
我尝试了以下但没有成功:
$ cat data.json | jq -r '.data[] | .[].a | join("+")'
jq: error (at <stdin>:1642): Cannot iterate over string ("1")
还有这个,但我什至不知道如何解决这个问题:
$ cat data.json | jq -r '.data[] | to_entries | .[]'
这时候对我来说似乎是一场无尽的旅程,你能帮助我,我会很高兴。 :-)
应该很简单。 将两个字段都放入一个数组中,将它们与所需的分隔符连接起来,并以表格格式放置
jq -r '.data[] | [ ( map(.a) | join("+") ), ( map(.b) | join("|") ) ] | @tsv'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.