首页 > 解决方案 > 在 jq 中,如何组合两个对象,使输出在一行中以逗号分隔?

问题描述

我以为这很简单,但我很难过。

在jq中,我怎样才能接受这个输入......

{
  "foo": "bar"
}
{
  "foo": "baz"
}

...并得到这个输出?

bar,baz

标签: jq

解决方案


这是一种方法

jq -nr '[inputs|.foo]|join(",")'

或者像这样

jq -sr 'map(.foo)|join(",")'

这个想法是将 bar 和 baz 放入一个数组中,然后用“,”连接数组的元素。

-r 为您提供不带引号的输出。


推荐阅读