Apacheのaccess.logからほんの少数のデータを抽出する必要があり、awkコマンドで試したところ すべてのIPを表示する必要があります。 )を要求に近づけた時刻と比較する。awk:日付の高いipsの出現を抽出する
のaccess.logのパターンが続く
192.168.0.147 [08/Aug/2016:10:55:14 +0200] "GET /requestPath/ HTTP/1.1" 401 1638 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
私だけ
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -fr
このスクリプトを生成することができたが、私は今、どのようにしませんが生成さ
LogFormat "%h %t \"%!200,304,302r\" %>s %O \"%!200,304,302{User-Agent}i\"" combined
ようです日付を抽出する
は、すべてのヘルプは高く評価されるだろう
3 192.168.0.147 02/Aug/2016:11:55:14
1 192.168.0.122 08/Aug/2016:10:15:11
のaccess.log
192.168.0.147 [01/Aug/2016:10:55:14 +0000] ...
192.168.0.147 [02/Aug/2016:10:55:14 +0000] ...
192.168.0.147 [02/Aug/2016:11:55:14 +0000] ...
192.168.0.122 [08/Aug/2016:10:15:11 +0000] ...
所望の出力より明確にします! ありがとう
あなたは、日付と時刻の間に空白を想定しているように見えるが、それはOPのサンプル内のすべての単一のフィールドにあります。 – tripleee
いいえ、私はしませんでした。私はタイムゾーンを離れるつもりだったが、それを指摘してくれてありがとう。 –
Thanx James、うまくいきますが、順不同のリストです。結果がipsが表示される回数(降順)で並べ替える必要がある場合はどうなりますか? – teo