Difference between revisions of "yq parser"

From thelinuxwiki
Jump to: navigation, search
Line 1: Line 1:
file name devices_test.yml contents:
+
file name foobarr.yml contents:
 
<source lang="yaml">
 
<source lang="yaml">
 
webserver:
 
webserver:
Line 12: Line 12:
  
  
  $ '''yq '.webserver.hosts[] | select(.ipaddr == "192.168.1.1")' devices_test.yml'''
+
  $ '''yq '.webserver.hosts[] | select(.ipaddr == "192.168.1.1")' foobar.yml'''
  
 
  {
 
  {
Line 20: Line 20:
 
pass an arg
 
pass an arg
  
  $ '''yq --arg IPADDR "$ipaddr" '.webserver.hosts[] | select(.ipaddr == "192.168.1.1")' devices_test.yml'''
+
  $ '''yq --arg IPADDR "$ipaddr" '.webserver.hosts[] | select(.ipaddr == "192.168.1.1")' foobar.yml'''

Revision as of 21:36, 21 May 2025

file name foobarr.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")'  foobar.yml
{
 "ipaddr": "192.168.1.1"
}

pass an arg

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