怎样用shell查出日志文件中记录的错误日志的次数
2017-04-24
展开全部
下面的命令:
grep -o -E 'ERROR[12]'| sort | uniq -c
grep -o仅输出匹配的内容,这里就是ERROR1或者ERROR2,然后用sort/uniq统计出现的个数。
更新:下面这种方法相对死板,没有grep+awk灵活。
哈,顺着依云同学的答案,如果使用awk,那可以连grep命令也可以不用。我们来试试,下面是测试的文件:
# cat /tmp/a.log
ERROR1
ERROR1
ERROR1ERROR1
ERROR
ERROR2ERROR1
ERROR1
ERROR2
ERROR2
ERROR2
ERROR3
awk命令:
awk '/ERROR[12]/ {
err1_cnt+=gsub(/ERROR1/, "");
err2_cnt+=gsub(/ERROR2/, "");
}
END {
print err1_cnt, err2_cnt;
}' /tmp/a.log
执行结果:
6 4
grep -o -E 'ERROR[12]'| sort | uniq -c
grep -o仅输出匹配的内容,这里就是ERROR1或者ERROR2,然后用sort/uniq统计出现的个数。
更新:下面这种方法相对死板,没有grep+awk灵活。
哈,顺着依云同学的答案,如果使用awk,那可以连grep命令也可以不用。我们来试试,下面是测试的文件:
# cat /tmp/a.log
ERROR1
ERROR1
ERROR1ERROR1
ERROR
ERROR2ERROR1
ERROR1
ERROR2
ERROR2
ERROR2
ERROR3
awk命令:
awk '/ERROR[12]/ {
err1_cnt+=gsub(/ERROR1/, "");
err2_cnt+=gsub(/ERROR2/, "");
}
END {
print err1_cnt, err2_cnt;
}' /tmp/a.log
执行结果:
6 4
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询