Portál AbcLinuxu, 5. června 2024 15:17


Dotaz: jq - vybrat a zobrazit celou hiearchii

29.12.2020 23:25 Deryl | skóre: 11
jq - vybrat a zobrazit celou hiearchii
Přečteno: 313×
Odpovědět | Admin
Ahoj,

mám JSON:
{
  "elastiflow-flow-1.0-ufc-2020.12.29": {
    "index.opendistro.index_state_management.policy_id": null
  },
  "elastiflow-flow-1.0-ufc-2020.12.27": {
    "index.opendistro.index_state_management.policy_id": "delete_index_after_day_30",
    "index": "elastiflow-flow-1.0-ufc-2020.12.27",
    "index_uuid": "DHG6k5G-Q1yeyaJXv6CQCQ",
    "policy_id": "delete_index_after_day_30"
  },
  "elastiflow-flow-1.0-ufc-2020.12.28": {
    "index.opendistro.index_state_management.policy_id": "delete_index_after_day_30",
    "index": "elastiflow-flow-1.0-ufc-2020.12.28",
    "index_uuid": "GxIb6I76S6qY8Vo_sU_yuA",
    "policy_id": "delete_index_after_day_30"
  }
}
a rád bych pomocí jq vypsal objekty, které mají:
index.opendistro.index_state_management.policy_id == null
v této struktuře:
{  "elastiflow-flow-1.0-ufc-2020.12.29": {
    "index.opendistro.index_state_management.policy_id": null
   }
Bohužel se mi to daří jen takto:
$ jq -r '.[] | select( has("policy_id") == false)' example.json
{
  "index.opendistro.index_state_management.policy_id": null
}
což je pěkné, ale pro další běh skriptu bych potřeboval nadřazený řetězec elastiflow-flow-1.0-ufc-2020.12.29...

Existuje způsob, jak pomocí jq filtrovat záznamy a zobrazit celou hiearchii? (Výše mám jen dvě úrovně, ale rád bych filtroval třeba i dle 3. podúrovně...)

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.12.2020 06:11 ET
Rozbalit Rozbalit vše Re: jq - vybrat a zobrazit celou hiearchii
Odpovědět | | Sbalit | Link | Blokovat | Admin
jq 'to_entries | map(select(.value."index.opendistro.index_state_management.policy_id"==null)) | from_entries' example.json
31.12.2020 16:59 Deryl | skóre: 11
Rozbalit Rozbalit vše Re: jq - vybrat a zobrazit celou hiearchii
Děkuji.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.