sed
не подходит для этой работы. Одним из правильных инструментов является jq
.
% cat wibble.json { "accounts": { "0x0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": "0x0", "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, "0x00Ea169ce7e0992960D3BdE6F5D539C955316432": { "balance": "1606938044258990275541962092341162602522202993782792835301376" } } } % ACCOUNT_ADDR="0xdeadbeeffeefdface0badd00dcacad0d0eeeeeeee" % jq '."accounts"."'"${ACCOUNT_ADDR}"'"."balance"="42"' wibble.json { "accounts": { "0x0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": "0x0", "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, "0x00Ea169ce7e0992960D3BdE6F5D539C955316432": { "balance": "1606938044258990275541962092341162602522202993782792835301376" }, "0xdeadbeeffeefdface0badd00dcacad0d0eeeeeeee": { "balance": "42" } } } %
Также был обнаружен тот факт, что у вас есть пара ключ+значение без включающего объекта. & #9786;