【问题标题】:Find and replace for JSON with sed or awk使用 sed 或 awk 查找和替换 JSON
【发布时间】:2014-12-04 13:37:32
【问题描述】:

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

json 的示例类似于 {"version":"0.5363"}

我需要能够为版本注入一个新值。

任何帮助将不胜感激。

【问题讨论】:

    标签: json bash awk sed


    【解决方案1】:

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

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

    在上述 sed 命令中,将 newvalue 替换为您想要的值。添加内联编辑选项-i 以保存所做的更改。

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

    【讨论】:

    • 如果版本在 JSON 中,这似乎不起作用
    • 没关系。如果我删除括号,它会起作用。非常感谢!
    • 对于 os x,您必须在编辑文件时指定备份参数,例如:sed -i '.bak' 's/\({"version":"\)[^"]*\("}\)/\1newvalue\2/g' test 参考:mkyong.com/mac/…
    猜你喜欢
    • 2017-11-11
    • 1970-01-01
    • 2020-02-03
    • 2017-01-07
    • 2017-02-14
    • 2020-04-25
    • 2010-12-07
    相关资源
    最近更新 更多