変数に格納されているオブジェクトのリストを含むJSON出力があります。 (私の表現は正確ではないかもしれません)
[
{
"item1": "value1",
"item2": "value2",
"sub items": [
{
"subitem": "subvalue"
}
]
},
{
"item1": "value1_2",
"item2": "value2_2",
"sub items_2": [
{
"subitem_2": "subvalue_2"
}
]
}
]
Ubuntu 14.04.1でbashスクリプトを実行するには、配列にitem2のすべての値が必要です。
必要な項目だけでなく、結果全体を配列に入れるいくつかの方法が見つかりました。
ベストアンサー1
使用ジャック:
readarray arr < <(jq '.[].item2' json)
printf '%s\n' "${arr[@]}"
より集中的なアプローチが必要な場合:
readarray -td '' arr
改行やその他の特殊文字を入力するときは、単語の分割を避けてください。
出力:
value2
value2_2
確認する:
一時ファイル名で置換>(command ...)
または置換を処理します。<(...)
このファイルを書き込んだり読み込んだりすると、バイトは内部コマンドにパイプされます。通常、ファイルのリダイレクトで使用されます。cmd1 2> >(cmd2)
.seehttp://mywiki.wooledge.org/ProcessSubstitution http://mywiki.wooledge.org/BashFAQ/024