次のようなオブジェクトのリストがあります。
[
{
"ip": "1.1.1.1",
"component": "name1"
},
{
"ip": "1.1.1.2",
"component": "name1"
},
{
"ip": "1.1.1.3",
"component": "name2"
},
{
"ip": "1.1.1.4",
"component": "name2"
}
]
次に、コンポーネントごとにグループ化してキーを設定し、各コンポーネントにIPのリストを割り当てます。
{
"name1": [
"1.1.1.1",
"1.1.1.2"
]
},{
"name2": [
"1.1.1.3",
"1.1.1.4"
]
}
私はそれを自分で考え出した。最初に_.component
_でグループ化してから、各グループの最初のオブジェクトのコンポーネントによってインデックスが付けられた新しいIPリストを作成します。
jq ' group_by(.component)[] | {(.[0].component): [.[] | .ip]}'