log parsing

ログ解析の話題ですが、こんな awk が得意とする話題は当然盛り上がってしまい、いろいろな回答が出ています。

Server             App          Total    In Use      Free
server1     application     integer   integer    integer
server2     application     integer   integer    integer
server3     application     integer   integer    integer

のようなログがあり、これを解析する方法です。

server1   oracle    418   20   50
server2   oracle    465   45   10
server3   oracle    165    4   100

という例に対して、

warn server1 threshold > 400
warn server2 threshold > 450
server3 OK

という出力をさせるものです。

awk '$3 > 400 {print "warn", $1, "threshold is", $3; next}; {print $1,
"OK"}' file.dat

がシンプルですね。