# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(person\s*=\s*{[^}]*'name'\s*:\s*')(.*?)(')/\1What an ugly design\3/s;t' <<< "person = {
'name' : 'Jhon Dow',
'address' : 'London',
'age' : 26,
'isMarried' : True ,
'brothersNames' : ['Kim' , 'David' , 'Ron']
}
animal = {
'type' : 'Lion',
'name' : 'Simba',
'age' : 10,
}"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html