jq + captura o valor da tag

0

é possível capturar o valor de tag necessário por jq

por exemplo, queremos capturar o valor da tag - version1531837630468 enquanto a entrada é ams-env

então jq irá capturar o valor da tag por 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
      },
      .
      .
      .
      .
      .
      .
    
por yael 06.08.2018 / 14:28

1 resposta

3
$ jq -r '.Clusters.desired_configs."ams-env".tag' file.json
version1531837630468

O ams-env bit deve ser citado, pois contém um sinal de menos. Além disso, é direto.

Se você quiser passar ams-env como uma variável na linha de comando:

$ jq -r --arg var "ams-env" '.Clusters.desired_configs|.[$var].tag' file.json
version1531837630468
    
por 06.08.2018 / 14:39

Tags