awk grep wc 组合进行日志分析,统计
统计参数:按日期统计
日期格式:统计数据用[]包含;每行数据中包含日期字符串;关键字区分特定的业务逻辑
#!/bin/bash
stat_time=$1
if [ ! -n "$stat_time" ]; then
echo "please put a stat time !"
read time
stat_time=$time
if [ ! -n "$stat_time" ]; then
echo "you put stat_time is null! stat end !"
exit
fi
fi
echo "you put stat time is:$stat_time"
stat_path="/home/java小生/tigermachine_stat"
stat_file_path=""
if [ ! -x "$stat_path" ];then
mkdir $stat_path ;
fi
stat_file_path=$stat_path/stat.log
cat catalina.out |grep $stat_time | grep "changeTigerMachinePoker gameCost" > $stat_file_path
cat catalina.out |grep $stat_time | grep "tiger machine spinWin pokerType" >> $stat_file_path
changePokerTotalCost=`cat $stat_file_path |grep 'changeTigerMachinePoker gameCost'|awk -F[][] '{print $6}' |awk 'BEGIN{total=0}{totalCost+=$1}END{print totalCost}'`
spinTigerMachenCost=`cat $stat_file_path |grep 'tiger machine spinWin pokerType'|awk -F[][] '{print $10}'|awk 'BEGIN{total=0}{totalCost+=$1}END{print totalCost}'`
systemAwardTotal=`cat $stat_file_path |grep 'tiger machine spinWin pokerType' |awk -F[][] '{print $12}'|awk 'BEGIN{total=0}{totalCost+=$1}END{print totalCost}'`
echo "changePokerTotalCost:$changePokerTotalCost"
echo "spinTigerMachineCost:$spinTigerMachenCost"
echo "systemAwardTotal:$systemAwardTotal"
echo "kingNumber:`cat $stat_file_path |grep "pokerType\[1\]"|wc -l`"
echo "baoziNumber:`cat $stat_file_path |grep "pokerType\[2\]"|wc -l`"
echo "shunjinNumber:`cat $stat_file_path |grep "pokerType\[3\]"|wc -l`"
echo "dilongNumber:`cat $stat_file_path |grep "pokerType\[4\]"|wc -l`"
echo "jinhuaNumber:`cat $stat_file_path |grep "pokerType\[5\]"|wc -l`"
echo "shunziNumber:`cat $stat_file_path |grep "pokerType\[6\]"|wc -l`"
echo "duiziNumber:`cat $stat_file_path |grep "pokerType\[7\]"|wc -l`"
echo "zapaiNumber:`cat $stat_file_path |grep "pokerType\[8\]"|wc -l`"
echo "2huaNumber:`cat $stat_file_path |grep "pokerType\[9\]"|wc -l`"
echo "1huaNumber:`cat $stat_file_path |grep "pokerType\[10\]"|wc -l`"
exit 0 ;
分享到:
相关推荐
### Linux系统中的查询三剑客:grep、awk、sed 使用详解 #### grep 命令详解 `grep` 是一个非常强大的文本搜索工具,它可以在文本中查找指定的字符串,并且能够逐行处理文本。这使得 `grep` 成为了文本处理和数据...
3. 文本处理工具:熟悉sed、awk、grep、cut、sort、uniq等文本处理工具的使用。这些工具是Shell脚本中处理和分析文本数据的利器。 4. 正则表达式:在文本处理中经常会用到正则表达式,它是一种文本模式匹配语言,...
9. **系统管理**:Shell脚本可以用于自动化日常的系统管理任务,如备份、日志分析、监控等。 10. **程序安装**:自定义安装脚本可以简化软件部署过程,确保环境配置正确。 11. **网络脚本**:通过curl、wget等工具...
在IT行业中,日志分析是一项至关重要的任务,尤其是在服务器管理和Web服务优化中。Nginx作为一款高性能的HTTP和反向代理服务器,广泛应用于互联网领域。它的日志记录了服务器与客户端之间的交互详情,通过分析这些...
书中实例精解部分,可能包含了大量的实际操作示例,比如创建自动备份脚本、系统监控脚本、日志分析脚本等,这些实例可以帮助读者将理论知识转化为实战技能。通过阅读和实践这些实例,你可以逐步提升在Linux环境中...
在Linux操作系统中,grep、sed和gawk是三个强大的文本处理工具,它们在日常的系统管理和脚本编写中起着至关重要的作用。了解并熟练掌握这三个工具,能极大地提高工作效率和解决问题的能力。 **grep(Global Regular...
在Linux操作系统中,`awk`是一个强大的命令行工具,用于处理和分析文本文件,特别是用于数据提取、格式化和报告生成。它通过扫描输入文件的每一行,对每一行进行模式匹配和操作,使得处理复杂的数据变得简单。本文将...
- 展示如何自动执行常见的系统维护任务(如备份、日志分析)。 - **第5章:自动化部署与配置管理** - 演示如何使用Shell脚本进行软件安装、配置文件修改等自动化部署工作。 - 讨论如何利用Shell脚本简化DevOps...
1. **awk命令**:awk是Linux中用于处理文本的强大工具,尤其适用于日志文件的格式化。通过定义模式和动作,我们可以提取、转换和打印日志中的关键字段。例如,`awk '{print $1, $3}'`可以输出日志文件中第一列和第三...
它们可能覆盖了各种常见任务,如系统初始化脚本、定时任务、日志分析、数据备份、系统监控等。通过阅读和修改这些脚本,学习者能够加深对Shell脚本的理解,提升编程技能。 学习Linux Shell脚本,首先要掌握基本语法...
AWK是一种强大的文本分析工具,尤其在UNIX/Linux环境中被广泛使用。它允许用户根据指定的模式匹配对输入数据进行处理,常用于数据提取、转换和...无论是数据处理、日志分析还是报告生成,AWK都是一个强大且灵活的工具。
3. **UNIX命令详解**:书中会详细介绍各种常用的UNIX命令,如ls、cd、mkdir、rm、cp、mv、grep、find、sed和awk等,这些都是编写Shell脚本时常用到的工具。理解这些命令的用法,能有效提升脚本的效率和实用性。 4. ...
### Linux Shell脚本攻略知识点详解 #### 一、Shell脚本基础 1. **Shell简介**: - **定义**:Shell是用户与Linux操作系统之间的交互界面。 - **功能**:执行命令、处理文件、运行程序等。 - **种类**:Bash、...
- 在Shell脚本中,正则表达式用于匹配字符串模式,常用于`grep`、`sed`和`awk`等命令。 8. **脚本调试** - 使用`set -x`开启命令行调试模式,显示执行的每个命令。 - `echo`和`printf`用于输出信息,辅助调试。 ...
- **数据分析**:AWK可以用来解析日志文件,提取关键信息,进行统计分析。 - **文本处理**:比如格式转换、内容提取、文本替换等。 - **脚本开发**:利用AWK的脚本功能,可以快速开发出功能强大的文本处理脚本。 ##...
在实际应用中,Shell脚本常用于系统维护任务,如定期备份、日志分析、性能监控等。通过学习《Linux Shell变成从入门到精通》,读者将能够熟练地运用Shell解决实际工作中的问题,提升系统管理效率。 这本书还可能...
最后,系统管理方面,Shell脚本可用于监控系统状态、自动化备份、日志分析等。例如,通过`ps`查看进程状态,`top`或`htop`实时显示系统资源占用,`cron`则用于定时任务调度。 “LINUX SHELL编程指南 1-15”很可能...
本文将详细介绍如何利用Shell和Linux命令来实现日志分析,特别是针对访问日志的统计。 1. 列出当天访问次数最多的IP: 使用`cut`命令以特定字符(通常是空格或逗号)分隔日志条目,提取IP地址(通常是第一字段),...