Linux shell統計アクセスログ

770 ワード

shell統計アクセスログ
最近、Webアプリケーションサーバのログ内のipごとのアクセス回数を統計する需要があります.
データフォーマット
ip time path
ip time path
ip time path

いろいろ考えてやっと書けた
#!/bin/bash
#this is a ip count
gawk '{print $1}' ipdata| sort -u| while read line
do
count=`grep -c $line ipdata`
echo $line $count
done

説明する
gawk '{print $1}'      
| sort -u        
| while read line         
count=`grep -c $line ipdata` grep ip     
echo $line $count     

出力結果
[root@CentOS bin]# countip1
127.0.0.1 2
127.0.0.2 1
127.0.0.3 1

ip数の結果はまだソートされていませんが、必要であればファイルのリダイレクトを行い、さらに順番を並べなければなりません.