-1

给定一个 data.json,例如:

{ "key1":"value1", "key2":"value2", "key3":"value3", "key4":"value4" },
{ "key1":"babla1", "key2":"babla2", "key3":"babla3", "key4":"babla4" },
{ "key1":"tata1", "key2":"tata2", "key3":"tata3", "key4":"tata4" },

如何"key2":"(.*)", "key3":"(.*)"用其他东西替换字符串?

4

2 回答 2

3

尝试以下操作:

$ sed 's|"key2":"[^"]*", "key3":"[^"]*"|"keyX":"test"|g' data.json
{ "key1":"value1", "keyX":"test", "key4":"value4" }, { "key1":"babla1", "keyX":"test", "key4":"babla4" }, { "key1":"tata1", "keyX":"test", "key4":"tata4" }

一些注意事项:

  • 因为正则表达式很贪婪,所以我使用[^"]*而不是.*
  • g替换所有出现的标志
于 2013-05-20T20:52:25.027 回答
0

sed 代码:

sed 's/,.*,\s/, \"keyX\":\"testX\", /' file

..输出是:

{ "key1":"value1", "keyX":"testX", "key4":"value4" },
{ "key1":"babla1", "keyX":"testX", "key4":"babla4" },
{ "key1":"tata1", "keyX":"testX", "key4":"tata4" },
于 2013-05-21T13:30:20.693 回答