【发布时间】:2012-11-13 12:50:05
【问题描述】:
我在一个文件中有以下文本结构:
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"jms/di-extra-bundle": "1.1.*"
},
我想补充
, "friendsofsymfony/user-bundle": "*"
在“}”之前,使用 sed(1)。
我还必须考虑到最后一行结尾可能有也可能没有逗号。
我尝试了很多东西;
sed '/require/,/\},/ { /[^,]$/ i//&,\n '\'something\''/ }' composer.json;
但我无法让它工作。
感谢任何帮助。
【问题讨论】:
-
你需要使用sed吗?一般来说,解码 JSON、添加密钥并重新编码(例如使用 PHP)可能更安全。
-
也许使用 PHP 脚本会更容易做到这一点?我的主要目标是调用某种脚本来编辑这个文件(添加一个 JSON 元素)。