sed は IP アドレス文字列を配列に置き換えます。

sed は IP アドレス文字列を配列に置き換えます。

network_ip_v4_address配列を配列として含める必要があるため、含まれていない配列を含める必要があります。

例えば。以下のコードでは"network_ip_v4_address":"20.38.32.202"配列ではありません(文字列です)。行は変更する必要があります"network_ip_v4_address":["20.38.32.202"]が、配列にすでに含まれている行には触れないでください。

{
   "network_ip_v4_address":"20.38.32.202",
   "mac_address": "A0:12:34:45",
   "network_ip_v4_address": [
        "10.38.61.1",
        "10.38.32.1"
    ],i
   "network_gateway_address": [
        "10.38.62.1",
        "10.38.33.1"
    ],

答え1

あなたの例を見ると、これはGNU sedで動作すると思います。

sed -E '/4_address": \[/! s/(4_address":)([^,]*)/\1[\2]/' file

関連情報