ファイルの例のApacheログファイルがある場合
タイムスタンプのないUNIXログファイルで最も頻繁に発生するエラーメッセージを抽出する方法
重要なのは、最も頻繁に発生するエラーメッセージがリストの一番上に来ることです
cat /tmp/file
:
ERROR 1 1234
ERROR 2 1234
ERROR 3 1234
ERROR 4 1234
ERROR 4 1234
ERROR 3 1234
ERROR 2 1234
ERROR 5 1234
ERROR 1 1234
ERROR 4 1234
ERROR 1 1234
ERROR 1 1234
ERROR 1 1234
ERROR 3 1234
ERROR 2 1234
ERROR 1 1234
ERROR 4 1234
ERROR 1 1234
ERROR 4 1234
ERROR 1 1234
ERROR 2 1234
grep "ERROR" /tmp/file | sort | uniq -c | sort -r
:
8 ERROR 1 1234
5 ERROR 4 1234
4 ERROR 2 1234
3 ERROR 3 1234
1 ERROR 5 1234
最初の列は、各文字列の出現回数を示しています説明:
grep "ERROR" /tmp/file\ # select only ERROR string
| sort\ # order
| uniq -c\ # count duplicate items
| sort -rn # reverse order and use numeric sort
上位5つのエラーについては、|head -n5
一意のエラーを取得するには、タイムスタンプを切り落とす必要があると思います
grep 'エラーメッセージ'/logfiles |カット-d '' -f6- |並べ替え| uniq -c |ソート-nr