У меня есть два файла со списками JSON:
Файл 1
[0,1,2]
["a", "b", "c"]
Файл 2
[3,4,5]
["d", "e", "f"]
Как я могу использовать jq
или аналогичный инструмент командной строки, чтобы объединить списки в каждой строке? Результатом объединения двух файлов выше должно быть:
[0,1,2,3,4,5]
["a", "b", "c", "d", "e", "f"]
Считайте оба файла в массив, используйте transpose
для объединения по их индексу и выполните операцию над полученным массивом, то есть add
подмассивами.
jq -nc --slurpfile f1 file1.json --slurpfile f2 file2.json \
'[$f1, $f2] | transpose[] | add'
Альтернативно, считайте их в один массив и разделите этот массив пополам, чтобы получить два подмассива:
jq -sc '[.[:length/2], .[length/2:]] | transpose[] | add' file1.json file2.json
Выход:
[0,1,2,3,4,5]
["a","b","c","d","e","f"]
Что вы уже пробовали?