私はjsonファイルを返すいくつかのURLを試しています。curl
そのファイルからホストを解析し、カンマ区切りの文字列を作成したいと思います。
最初の部分を完了しました。
curl -s -u "admin:admin" -H "X-Requested-By: ambari" "https://hbasecluster.net/api/v1/clusters/mycluster/services/ZOOKEEPER/components/ZOOKEEPER_SERVER" | jq -r '.host_components[].HostRoles.host_name'
返品
zk0-mycluster.net
zk1-mycluster.net
zk2-mycluster.net
これで、次のような文字列にリンクしたいと思います。
zk0-mycluster.net,zk1-mycluster.net,zk2-mycluster.net
ベストアンサー1
こうしてくださいjq
。しかし見てください。@Kusalanandaの返信 最初
jq -r '.host_components[].HostRoles.host_name | join(",")'
いいえ、それは間違っています。これがあなたに必要なものです:
jq -r '.host_components | map(.HostRoles.host_name) | join(",")'
デモ:
jq -r '.host_components | map(.HostRoles.host_name) | join(",")' <<DATA
{"host_components":[
{"HostRoles":{"host_name":"one"}},
{"HostRoles":{"host_name":"two"}},
{"HostRoles":{"host_name":"three"}}
]}
DATA
出力
one,two,three