シェルスクリプトでjson配列を繰り返す方法

シェルスクリプトでjson配列を繰り返す方法

以下はjson配列で、各オブジェクトのリンクと名前を印刷する必要があります。シェルスクリプトでこれを達成できますか? jqを使ってみましたが、1つの値しか取得できません。

values[
{
  "Links": "https://abc/tset",
  "Dates": 1540204743643,
  "name" : test1
}
{
  "Links": "https://abc/tset",
  "Dates": 1539256093799,
  "name" : test2
}
]

答え1

これはあなたが言うのですか?

$ jq --raw-output '.values[] | [.Links,.name] | @tsv' <<< '{"values": [{"Links": "https://abc/tset", "Dates": 1540204743643, "name": "test1"}, {"Links": "https://abc/tset", "Dates": 1539256093799, "name": "test2"}]}'
https://abc/tset    test1
https://abc/tset    test2

答え2

以下を使用できます。
grep -Eoe ' "Links":([[:space:]]+[^[:space:]]+){1}' -Eoe ' "name" :([[:space:]]+[^[:space:]]+){1}'

その後の単語を見つけて表示linkします。name

関連情報