Parse yaml file without using outside tool
0
votes
3
answers
4751
views
I am new to bash, dragged into a problem where I need to update some dynamic parameters in a yaml file
Based on query (
search4.subsearch1.name
), i need to update
-none
name: old_name
into
-none
name: new_name
* Here is the sample file:
-none
search1:
name: name1
pass: pass1
date: date1
#these are just commented texts
search2:
#Adding few more commented lines
myname: somename
name: name2
pass: pass2
someotherparam: param1
search3:
nameAndSurname: NS
namingConv: true
varSet: P3
search4:
#Again adding some special name: strings here
myname: somename1
name: new_name
pass: new_pass
ptherparam1: T3
subsearch1:
#Again adding some special name strings here
myname: somename2
name: old_name
pass: pass2
ptherparam1: param3
search5:
#Again adding some special name strings here
var1: value1
name: some_name
pass: some_pass
So based on query (search4.subsearch1.name
), I need to update name: old_name
into name: new_name
* Expeced output:
-none
search4:
#Again adding some special name: strings here
myname: somename1
name: new_name
pass: new_pass
ptherparam1: T3
subsearch1:
#Again adding some special name strings here
myname: somename2
name: new_name
pass: pass2
ptherparam1: param3
Tried with awk
and sed
but that did not work:
lineNR=$(awk "/\
Asked by g_jha
(19 rep)
Feb 10, 2021, 12:06 PM
Last activity: Feb 9, 2024, 05:12 PM
Last activity: Feb 9, 2024, 05:12 PM