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

관련 정보