2014-10-09 92 views
6

所以我需要能够使用sed或awk(最好在一行)为JSON注入值,并且我无法安装任何外部库来帮助我。用sed或awk查找并替换为JSON

的JSON的一个例子是像{"version":"0.5363"}

我需要能够为版本注入了新的价值。

任何帮助将不胜感激。

回答

7

你可以试试下面的sed命令,

$ echo '{"version":"0.5363"}' | sed 's/\({"version":"\)[^"]*\("}\)/\1newvalue\2/g' 
{"version":"newvalue"} 

在上面的sed命令,替换你想与价值newvalue。添加内联编辑选项-i以保存所做的更改。

sed -i 's/regex/replacement/g' file 
+0

这似乎不工作,如果版本是JSON内的下一个 – samdunne 2014-10-09 14:58:24

+0

没关系。它的工作是如果我删除括号。非常感谢! – samdunne 2014-10-09 15:00:49

+0

不客气的.. – 2014-10-09 15:05:31