1行に2種類のデータが入っている二番目のデータファイルのような場合,1行目は「1 11」であるので,$0=“1 11”,$1=“1”,$2=“11”となるのである。そこで,二番目のデータファイルを処理するためには以下のようなスクリプトが可能である。
#!/usr/local/bin/gawk -f { data[FNR] = $1 } END { for (i = 1; i <= FNR; i++) { mean += data[i] } mean /= FNR for (i = 1; i <= FNR; i++) { variance += (data[i]-mean)^2 } variance /= FNR sd = sqrt(variance) printf "N %15.7g\n", FNR printf "Mean %#15.7g\n", mean printf "Variance %#15.7g\n", variance printf "S.D. %#15.7g\n", sd }
data[FNR] = $1の部分を
data[FNR] = $2に変えると,2番目のデータについての平均値等を求めることができる。しかし,毎回毎回このようにして3番目のデータについて,4番目のデータについて,...とやっていくのはたいへんだ。