jq 1.5 имеет inputs
, что обеспечивает простое и эффективное решение:
jq -R -n -c '[inputs|split(",")|{(.[0]):.[1]}] | add' input.txt
Важно: не забывайте опцию -n
, иначе вы потеряете первую строку.
Альтернатива
Если у вашего jq нет inputs
, то пора обновить, если это вообще возможно.В противном случае:
jq -R -s '
split("\n")
| map(if index(",") then split(",")|{(.[0]):.[1]}
else empty end)
| add' input.txt