我如何使用grep来查找日志文件中最常出现的重复错误?

我有一个PHP应用程序在日志文件中生成大量的警告和通知。

我正在修理这些。

我希望能够修复最频繁发生的第一次,以最大限度地提高我的更改对日志文件大小的影响量。

我怎样才能使用grep / sed / regex etc.find哪些通知是最频繁的?

自从时间戳开始以来,我无法比较整个行,但也许是“ 在线… ”的列表/分组/sorting?

替代文字http://i26.tinypic.com/2805zxy.png

这个怎么样?

grep 'on line' /var/log/httpd/error_log | cut -d' ' -f6- | sort | uniq -c | sort -nr 

  1. 从日志文件中获取正确的行
  2. 把正面的date切掉
  3. sorting他们
  4. 汇总并计数重复项
  5. 按重复次数sorting

我觉得这个更简洁,所以你真的可以避免“削减”。

  grep -o 'on line [[:digit:]]*' /var/log/nginx/error.log | sort | uniq -c | sort -nr