yq parser

From thelinuxwiki
Revision as of 21:35, 21 May 2025 by Nighthawk (Talk | contribs)

Jump to: navigation, search

file name devices_test.yml contents:

webserver:
  hosts:
    foo:
      ipaddr: 192.168.1.1
      desc: "foo"
    bar:
      ipaddr: 10.0.0.1
      desc: "bar"


$ yq '.webserver.hosts[] | select(.ipaddr == "192.168.1.1")' devices_test.yml
{
 "ipaddr": "192.168.1.1"
}

pass an arg

$ yq --arg IPADDR "$ipaddr" '.webserver.hosts[] | select(.ipaddr == "192.168.1.1")' devices_test.yml