-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 '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 に答える