JSONファイルで2つの配列要素を置き換える方法

JSONファイルで2つの配列要素を置き換える方法

このようなファイルがあります。

{"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ライブラリに依存する言語(例えばperlpython

例は次のとおりですjq

<file jq '.[] |= (.[2] as $t | .[2] = .[1] | .[1] = $t)'

すべてのオブジェクトは、3番目と2番目の配列要素の置換に置き換えられます。の配列はjqインデックスで始まります0

おすすめ記事