■IPとドメインの組み合わせでプロキシアクセスのトップ10を集計する。 条件は、以下。 1行目:2015年の09:00~17:59の間、12:00~12:59を除く。 2行目:「http://」と「[」を取り除く。 3行目:対象のファイル(1日分)。 4行目:IPとアクセス先URLを取り出す。 5行目:「アクセス先URL」からディレクトリ以下を削除。 6行目:IPとドメインの組み合わせでカウント。 7行目:カウント数の多い順に並べ替えて、上位の10行を取り出し。 $ sudo awk '(/2015:09/||/2015:1[0134567]/)&&/:[0-5][0-9]:[0-5][0-9] / \ {gsub("http://","");sub("\\[","");print $1,$4,$7}' \ /var/log/squid3/access.log | \ awk '{print $1,$3}' | \ sed 's%/.*%%g' | \ awk '{a[$1","$2]+=1};END{for (n in a){print a[n],n}}' | \ sort -nr -k1 | head -10 212 172.16.56.103,www.keyman.or.jp 164 172.16.56.101,wired.jp 140 172.16.56.102,uni.res.nimg.jp 122 172.16.56.104,api.b.st-hatena.com 115 172.16.56.101,www.sankei.com 115 172.16.56.100,www.asiapress.org 114 172.16.56.103,mt1.googleapis.com 111 172.16.56.101,mt0.googleapis.com 109 172.16.56.100,www.google-analytics.com 109 172.16.56.102,b.hatena.ne.jp ■結果として、各種ニュースサイトにニコニコ動画、 はてなとグーグル先生が多いアクセスです。 全く面白くは無いですね。。。 ■余談ですが、最後にスペースを「,」に変換すればCSV形式として扱えます。 また、以下のようなHTTPメソッドやHTTPステータスコード、 曜日などの条件は付けませんでした。 アクセスログからワンライナーで接続元毎、閲覧先毎の接続回数の集計をしてみる。 http://labunix.hateblo.jp/entry/20151007/1444203751 「第16回春だからログ解析するぞシェル芸勉強会」を解いてみた。 http://labunix.hateblo.jp/entry/20150418/1429363261