我有一个JSON文件,其中包含以下内容:
{
"a" : "100"
}
此处"a"
之前的空格数可能会有所不同。因此,我想首先检查一行中"a"
的出现位置,并将"a"
之后的其余行替换为" : "10""
,以使文件看起来像这样:
{
"a" : "10"
}
如何使用sed命令执行此操作?这是我到目前为止所尝试的:
sed -ir 's/.*a.* [0-9][0-9]*/10/g' file.json
答案 0 :(得分:2)
最好为json使用特殊工具。例如jq
$ jq '.a = "10"' file
{
"a": "10"
}
答案 1 :(得分:1)
$ sed -ri 's/("a"[ ]*:[ ]*).*/\1"10"/' file
$ cat file
{
"a" : "10"
}