以下は私のjsonファイルから抜粋したものです。
},
{
"name": "asdasd",
"script": "dsad.js",
"merge_logs": ture,
"error_file": "/ofghfghgfh.log",
"out_file": "/fghgfhfgg",
"cwd": "",
"autorestart": true,
"log_date_format" : "YYYY-MM-DD HH:mm Z",
"env": {
"NODE_ENV": "desa",
"KEY": "VtZOiz0Qc4afFs6j+h2r"
}
}]
「KEY」の後にフレーズを追加したいです。現在の値を変更してください。
「sed」を試しましたが、行末に追加しました。
sed '/KEY/s/$/1234/g' .json
「-i」オプションを使用してファイルを直接変更する必要があります。
ベストアンサー1
sed
操作に誤ったツールです。正しいツールの1つですjq
。
% 猫 wibble.json [ { "名前": "asdasd", "スクリプト": "dsad.js" }, { "log_date_format": "YYYY-MM-DD HH:mm Z", "環境":{ "NODE_ENV": "デサ", "キー": "VtZOiz0Qc4afFs6j+h2r" } } ] % jq '.[1]."env"."KEY" = "1234"' wibble.json [ { "名前": "asdasd", "スクリプト": "dsad.js" }, { "log_date_format": "YYYY-MM-DD HH:mm Z", "環境":{ "NODE_ENV": "デサ", 「キー」:「1234」 } } ] %
JSONが実際には無効であることがわかりました。
%jq.ortiga.json 解析エラー:行4、列23のテキストが正しくありません。 %