使用sed或awk查找并替换JSON

sam*_*nne 9 bash awk json sed

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

json的一个例子就是这样的 {"version":"0.5363"}

我需要能够为版本注入新值.

任何帮助将不胜感激.

Avi*_*Raj 9

您可以尝试以下sed命令,

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

在上面的sed命令中,替换所需的newvaluewith值.添加内联编辑选项-i以保存所做的更改.

sed -i 's/regex/replacement/g' file
Run Code Online (Sandbox Code Playgroud)

  • 对于 os x,编辑文件时必须指定备份参数,例如:`sed -i '.bak' 's/\({"version":"\)[^"]*\("}\)/ \1newvalue\2/g' 测试`参考:https://www.mkyong.com/mac/sed-command-hits-undefined-label-error-on-mac-os-x/ (2认同)