このようなファイルがあります。
{"100":["0.00001","10","0.01"],
"101":["0.0001","100","0.1"],
"102":["1","1000","1"],
....
"103":["0.01","10000","10"]}
2番目の数字を各配列内の3番目の数字に置き換えて、次のように変換したいと思います。
{"100":["0.00001","0.01","10"],
"101":["0.0001","0.1","100"],
"102":["1","1","1000"],
....
"103":["0.01","10","10000"]}
を使用するか、他のsed
方法を使用してこれを行うにはどうすればよいですかawk
?
{
最初のレコードと最後のレコードに中和が存在することを確認してください。}
ありがとう
ベストアンサー1
JSONデータを解析するためにテキスト中心のツール(awk
など)を使用しないことをお勧めします。sed
代わりに、JSONパーサーやJSONライブラリに依存する言語(例えばperl
。python
例は次のとおりですjq
。
<file jq '.[] |= (.[2] as $t | .[2] = .[1] | .[1] = $t)'
すべてのオブジェクトは、3番目と2番目の配列要素の置換に置き換えられます。の配列はjq
インデックスで始まります0
。