データの2列目の平均

ネットで拾ってきたものだが、
データファイルの2列目のみを平均するスクリプト。
RubyでいうHashのような配列を使用している。
高度すぎて、フォローするのにちょっと時間かかった…

#!/bin/bash

awk '
NF>=2 {
  sum[$1]+=$2;num[$1]++;
} END {
  for(n in sum){
    if ( num[n] > 0 ) {
      print n, sum[n]/num[n];
    }
  }
}' "$@" | sort -k1,1g