0

次の形式のファイルがあります

 Time Number Val
  x    1     y
  x    1     y
  a    1     z
  b    1     m
  b    2     m

同じ値の行をクラブにしたいのですが、最終的なファイルは次のようになります

 Time Number Val
  x    2     y
  a    1     z
  b    3     m

awkを使用してこれを行う方法は?

4

2 に答える 2

1

awk の連想配列を使用できます。

awk 'NR==1{print $0} NR!=1{a[$1]+=$2; b[$1]=$3;} \
 END{ for ( i in a)  print i, a[i], b[i]}' file

サンプル入力の場合、次のように出力されます。

Time Number Val
x 2 y
a 1 z
b 3 m
于 2013-07-31T15:31:09.277 に答える