我有一个这样的文件:test.json
:
{..
}
"Naveen": {
"ip_addr": "INET;192.168.1.3;5001",
"enable": 1,
"mode": "emulate"
},
我需要regex匹配
Naveen
然后下一个元素mode
并将模式值从emulate
更改为xyz
。失败的解决方案:
sed '/^Naveen$/{$!{N;s/^Naveen\nemulate$/xyz\nBe/;ty;P;D;:y}}'
cat test.json | tr '\n' '\r' | sed -e 's/Naveen\remulate/xyz\rBe/' | tr '\r' '\n'
我犯了什么错?
最佳答案
你可以试试这个sed
,
sed '/"Naveen": {/{:loop; N; s/emulate/CHANGED/g; /}/b; b loop;}' yourfile.json