web-dev-qa-db-ja.com

awkを使用して大きなファイルの数値で減算を行う方法

私はこのような大きなファイルを持っています

AT5G44030,TAACARA,1000,+,200,206
AT5G44030,TAACARA,1000,+,418,424
AT5G44030,TAACARA,1000,+,773,779
AT5G44030,NGATT,1000,+,114,118
AT5G44030,NGATT,1000,+,267,271
....................................

最後に2つの列を追加し、5番目から3番目、6番目から3番目を減算して、最終的なファイルを次のようにします。

AT5G44030,TAACARA,1000,+,200,206,-800,-794
AT5G44030,TAACARA,1000,+,418,424,-582,-576
AT5G44030,TAACARA,1000,+,773,779,-227,-221
AT5G44030,NGATT,1000,+,114,118,-886,-882
AT5G44030,NGATT,1000,+,267,271,-733,-729

.......................................

(間に空の行がないことに注意してください)

awkまたはsedを使用してこれを行うにはどうすればよいですか?ファイルは非常に大きく、100万行です。

3
ChathuraG

awk 'BEGIN { FS=OFS="," } {print $0,$5-$3,$6-$3}' my_file

5
Guido