Unixスクリプトを使用して、列2のテキストが同じ場合は、列1の値を加算して合計を印刷しようとします。次のファイルがあります。
7 GeneA
2 GeneB
6 GeneC
2 GeneB
9 GeneA
出力が次のようになります。
16 GeneA
4 GeneB
6 GeneC
ありがとう
ベストアンサー1
使用アッスクリプト:
awk '{ a[$2]+=$1 }END{ for(i in a) print a[i],i }' file
a[$2]+=$1
- 各グループの価値を累積する(「グループ」2番目のフィールドの固有値と見なされ、配列a
インデックスとして使用されます)
出力:
16 GeneA
4 GeneB
6 GeneC