是否可以通过以下方式捕获所需的标签值杰克
例如我们想要捕获标签值 -版本1531837630468 而输入是ams-环境
所以 jq 将通过 ams-env 捕获标签值
{
"href" : "http://master:8080/api/v1/clusters/HDP?fields=Clusters/desired_configs",
"Clusters" : {
"cluster_name" : "HDP",
"version" : "HDP-2.6",
"desired_configs" : {
"airflow" : {
"tag" : "version1508837789535411",
"version" : 2
},
"ams-env" : {
"tag" : "version1531837630468",
"version" : 7
},
"ams-grafana-env" : {
"tag" : "version1531831836137",
"version" : 5
},
.
.
.
.
.
.
答案1
$ jq -r '.Clusters.desired_configs."ams-env".tag' file.json
version1531837630468
该ams-env
位必须加引号,因为它包含减号。除此之外,它很简单。
如果您想ams-env
在命令行上作为变量传递:
$ jq -r --arg var "ams-env" '.Clusters.desired_configs[$var].tag' file.json
version1531837630468