2017-11-08 12 views
0

エージェント3の後にsedを使用してカンマを削除しようとしました(有効なjsonのままです)。私はもともとsed 's/\"agent4\"/を試してみたところ、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" 
      ] 
     } 
     } 
    } 
    } 
} 
関連する問題