私はファイルを持っています:
1 Chr1 100820415
1 Chr1 100821817
1 Chr1 100821818
1 Chr1 100823536
1 Chr1 100824427
2 Chr1 100824427
2 Chr1 100824427
1 Chr1 100824428
すべての列 2 が同じで、列 3 の値が同じである場合、列 1 の値を追加しようとしています。それは一種の「クラスタリング」のようなものです。
したがって、出力は次のようになります。
1 Chr1 100820415
1 Chr1 100821817
1 Chr1 100821818
1 Chr1 100823536
5 Chr1 100824427
1 Chr1 100824428
私はawk
その言語を初めて使用し、理解しようとしていますが、そのスクリプトを書くとは言えませんif $2 is same then add $1 and if $2 is same then add $3 values (if $3 values are same)
。
これまでに試したことは次のとおりです。
awk 'BEGIN{ x+=$1 } END {print x} if NF == $2' file_name
解は inawk
またはのいずれかになりますpython
。