awk で絶対値が最大の値を探す

データの特定の列の最大値や最小値が欲しいとき、awkが便利です。 RubyやPython使うほどではない場合は次のようなワンライナーで充分ですよ。

以下はawkを使って、8カラム目のデータの最大値を探す例です。catでファイル(hoge.dat)を出力してパイプでつないでいます:

cat  hoge.dat | awk 'NR == 1 {m = $8} function abs(x) {return (x<0) ? -x : x}{if (abs(m) < abs($8)) m=$8} END {print "%.3f",  m}'

NR: total number of record