2017-11-08 17 views
0

에이전트 3 이후에 sed를 사용하여 쉼표뿐만 아니라 쉼표도 제거하려고했습니다 (유효 json으로 유지됨). 나는 원래 을 시도했는데 sed 's/,\n\s+\"agent4\"/으로 변형되었지만 sed가 개별 줄을 읽었으므로 여기서부터 진행할 수 없었습니다.sed를 사용하여 이전 줄에서 json 배열과 쉼표를 제거하십시오.

sed를 사용해야합니다. 적절한 JSON 도구를 사용하여

{ 
    "environments": { 
    "default": { 
     "machines": { 
     "dev-machine": { 
      "agents": [ 
      "agent1", 
      "agent2", 
      "agent3", 
      "agent4" 
      ] 
     } 
     } 
    } 
    } 
} 
+0

'sed'이 작업에 대한 잘못된 도구입니다. * 왜 'sed'해야합니까? – chepner

답변

0

jq 같은 :

% jq '.environments.default.machines["dev-machine"].agents |= .[:-1]' tmp.json 
{ 
    "environments": { 
    "default": { 
     "machines": { 
     "dev-machine": { 
      "agents": [ 
      "agent1", 
      "agent2", 
      "agent3" 
      ] 
     } 
     } 
    } 
    } 
}