Posted at

HTTPのアクセスログをgawkを使ってsortする

More than 3 years have passed since last update.

参考 http://gihyo.jp/magazine/SD/archive/2015/201505

出力はCSVファイル、セパレータは@になってます。

##===事前処理

BEGIN {
FPAT="([^ ]+)|(\"[^\"]+\")|(\[[^\[]+[^\]]+\])"
}

##===本体処理

{
freq_of[$1"@"$9]+=1
}

##===事後処理
END {
OFS="@"
for ( i in freq_of ) {
if ( ! freq_of[i] ) {
freq_of[i] = 0
}
print i, freq_of[i]
total+=freq_of[i]
}
print "total " total
}