用户需要登录统计信息,当分析用户行为,使用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" "$8}'
sort 把结果排序,为后面的汇总做准备,
sort -nr 是依照数值大小倒序排列,相当于SQL中的ORDER BY ... DESC,
head -10 就拿前十
版权声明:本文博客原创文章,博客,未经同意,不得转载。