给出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":"(.*)"
?
答案 0 :(得分: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
标记替换所有出现的内容答案 1 :(得分:0)
sed code:
sed 's/,.*,\s/, \"keyX\":\"testX\", /' file
..输出是:
{ "key1":"value1", "keyX":"testX", "key4":"value4" }, { "key1":"babla1", "keyX":"testX", "key4":"babla4" }, { "key1":"tata1", "keyX":"testX", "key4":"tata4" },