使用shell命令分析统计日志

用户需要登录统计信息,当分析用户行为,使用shell通常可以很容易地取出了大量的数据。删除,然后放入excel统计。

例如:统计日志含有loadCustomProcess这个地址的訪问,按訪问耗时排序:
grep "loadCustomProcess" /home/workflow/socket.txt | awk -F " " '{print $11}'|awk -F ":" '{print $2}'|sort -nr 

查询出现“INFO",出现量前10的记录:
grep "INFO" /usr/share/tomcat6/logs/flowplatform.log| awk -F " " '{print $8}'|sort |uniq -c|sort -nr

解析:
grep "loadCustomProcess" /home/workflow/socket.txt 找出文件/home/workflow/socket.txt中包括loadCustomProcess的行
uniq -c:统计连续出现的次数(注意是连续),因此在uniq -c前需先用sort才干有sql中count的效果
awk SQL语句中的SELECT字段,“-F " "”表示依照空格对每行数据进行分隔,得到的每一个单元就是一个字段。而“$7”就是第七个字段,假设取第7、8两个字段,而且两个字段用tab号隔开。则'{print $7"\t"$8}'
sort 把结果排序,为后面的汇总做准备,
sort -nr  是依照数值大小倒序排列,相当于SQL中的ORDER BY ... DESC,
head -10  就拿前十


版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-08-18 14:17  blfshiye  阅读(314)  评论(0)    收藏  举报