入力ファイルは次のようになります。
{
"login": "dmaxfield",
"id": 7449977,
...
}
{
"login": "dmaxfield",
"id": 7449977,
...
}
これですべてのログイン名を取得できます:cat members | jq '.[].login'
しかし、私はログインとIDの両方を取得する構文を解読することができませんでしたか?
jq '.[] | .login, .id'
を使用して、各ログインとそれに続くIDを取得できます。
これは私のために働く:
> echo '{"a":1,"b":2,"c":3}{"a":1,"b":2,"c":3}' | jq '{a,b}'
{
"a": 1,
"b": 2
}
{
"a": 1,
"b": 2
}
異なるレベル(つまり、第1レベルと第2レベルの両方)にインデントされている値を選択するには、次を使用できます。
$ echo '{"a":{"aa":1,"ab":2},"b":3,"c":4}{"a":{"aa":5,"ab":6},"b":7,"c":8}' \
> | jq '[.a.aa,.a.ab,.b]'
[
1,
2,
3
]
[
5,
6,
7
]