jq + 捕获标签值

jq + 捕获标签值

是否可以通过以下方式捕获所需的标签值杰克

例如我们想要捕获标签值 -版本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

相关内容