ort*_*iga -2 scripting sed text-processing json
以下是我从 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"
}
}]
Run Code Online (Sandbox Code Playgroud)
我想在“KEY”之后添加一个短语:替换它现在拥有的值。
我试过“sed”,但我把它加到了行尾
sed '/KEY/s/$/1234/g' .json
Run Code Online (Sandbox Code Playgroud)
我需要使用“-i”选项直接更改文件。
sed
是这项工作的错误工具。正确的工具之一是jq
.
% 猫 wibble.json [ { "name": "asdasd", “脚本”:“dsad.js” }, { "log_date_format": "YYYY-MM-DD HH:mm Z", “环境”:{ "NODE_ENV": "desa", "KEY": "VtZOiz0Qc4afFs6j+h2r" } } ] % jq '.[1]."env"."KEY" = "1234"' wibble.json [ { "name": "asdasd", “脚本”:“dsad.js” }, { "log_date_format": "YYYY-MM-DD HH:mm Z", “环境”:{ "NODE_ENV": "desa", “钥匙”:“1234” } } ] %
它甚至会发现您的 JSON 实际上无效。
% jq 。org.json 解析错误:第 4 行第 23 列的文字无效 %