使用shell命令分析统计日志
2015-08-18 14:17
543 查看
用户需要登录统计信息,当分析用户行为,使用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 就拿前十
例如:统计日志含有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 就拿前十
相关文章推荐
- Shell字符串截取
- linux shell 之 crontab(定时任务)详解
- Linux程序设计(二)shell程序设计
- shell脚本中自动输入密码
- Python执行Shell命令测试脚本
- shell初级编程问题(一):fi关键字显示红色,运行报语法错误
- BASH脚本第六课-2
- shell ,sed命令用变量替换字符串,单引号改为双引号
- linux shell strace 使用 实例
- 深入浅出ShellExecute
- bash: /usr/bin/ls: 参数或环境列表太长
- 如何在shell中处理异常
- 编写健壮的Bash shell脚本
- shell处理命令行选项getopts
- shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器
- 关于使用mail命令产生:-bash: mail: command not found的解决方法
- 【Powershell】【Add-member】创建powershell对象
- shell 脚本教程--入门级
- 一些简单的shell脚本实例
- mac git+shell实现快速提交push