次の文字列がありますbash
"3.8,3.9,3.10"
shellを使ってこれを配列に変換する方法はありますかjson
?
["3.8", "3.9", "3.10"]
ベストアンサー1
文字列(二重引用符を含む)は正しい形式のJSON文字列として表示されるため、JSONプロセッサにJSONとして渡してコンマで分割jq
できます。
$ echo '"3.8,3.9,3.10"' | jq 'split(",")'
[
"3.8",
"3.9",
"3.10"
]
「コンパクトな出力」を得るには、jq
withを使用します。-c
$ echo '"3.8,3.9,3.10"' | jq -c 'split(",")'
["3.8","3.9","3.10"]
コマンドラインでそれを内部jq
変数に割り当ててから、その変数の値を分割します。
$ jq -c -n --argjson str '"3.8,3.9,3.10"' '$str|split(",")'
["3.8","3.9","3.10"]