用惯了java的我,习惯于使用java来处理统计服务器上生成的报表文件,其实可以用shell脚本来出来日志文件,这样效率更高,而且能满足多变的需求,例如有以下一个日志文件,为了演示demo,以下这段内容只是真是环境中的日志文件的一小段:
IP: 10.246.133.165 corename:search4newecrmonline-113,indexsize:4647684,indexNum:13546485,timesum:1076306,querycount:9624
IP: 10.246.133.165 corename:search4newecrmonline-114,indexsize:4859960,indexNum:14225152,timesum:1063298,querycount:5646
IP: 10.246.133.165 corename:search4newecrmonline-115,indexsize:4292468,indexNum:12561415,timesum:875506,querycount:3813
IP: 10.246.133.165 corename:search4newecrmonline-153,indexsize:4314760,indexNum:12604725,timesum:885560,querycount:4509
IP: 10.246.133.165 corename:search4newecrmonline-154,indexsize:3950384,indexNum:11540657,timesum:831698,querycount:5803
IP: 10.246.133.165 corename:search4newecrmonline-155,indexsize:3898128,indexNum:11439464,timesum:926018,querycount:8293
IP: 10.246.133.165 corename:search4newecrmonline-193,indexsize:4187096,indexNum:12269895,timesum:875416,querycount:5022
IP: 10.246.133.165 corename:search4newecrmonline-194,indexsize:4224724,indexNum:12356496,timesum:1112942,querycount:6041
IP: 10.246.133.165 corename:search4newecrmonline-195,indexsize:4292484,indexNum:12582706,timesum:2564479,querycount:12318
IP: 10.246.133.165 corename:search4newecrmonline-233,indexsize:4379768,indexNum:12851563,timesum:914215,querycount:3402
IP: 10.246.133.165 corename:search4newecrmonline-234,indexsize:4658288,indexNum:13489599,timesum:1553443,querycount:13432
IP: 10.246.133.165 corename:search4newecrmonline-235,indexsize:3888760,indexNum:11383280,timesum:821678,querycount:4243
IP: 10.246.133.165 corename:search4newecrmonline-273,indexsize:4463124,indexNum:13033226,timesum:1179811,querycount:9059
IP: 10.246.133.165 corename:search4newecrmonline-274,indexsize:3951476,indexNum:11559612,timesum:1057978,querycount:5684
IP: 10.246.133.165 corename:search4newecrmonline-275,indexsize:4312312,indexNum:12611877,timesum:868934,querycount:3365
IP: 10.246.133.165 corename:search4newecrmonline-313,indexsize:4006048,indexNum:11764585,timesum:830098,querycount:5760
IP: 10.246.133.165 corename:search4newecrmonline-314,indexsize:4733364,indexNum:13854315,timesum:1185240,querycount:11434
IP: 10.246.133.165 corename:search4newecrmonline-315,indexsize:4491000,indexNum:13126275,timesum:1034849,querycount:5061
IP: 10.246.133.165 corename:search4newecrmonline-33,indexsize:4098464,indexNum:12025008,timesum:830250,querycount:2831
IP: 10.246.133.165 corename:search4newecrmonline-34,indexsize:4393756,indexNum:12728587,timesum:2630776,querycount:14342
IP: 10.246.133.165 corename:search4newecrmonline-35,indexsize:4753732,indexNum:13850790,timesum:1087923,querycount:5018
为了统计indexsize 这一项的总和可以用以下这个shell脚本来出来,只要一句话,结果就出来,是不是以非常方便呢?
cat ./*|grep search4newecrmonline- | awk -F 'indexNum:' '{sum=sum+$2; print sum} END{print "timesum:"sum}'
结果:
timesum:4028632138
分享到:
相关推荐
### Awk命令使用详解 #### 一、Awk简介 Awk是一种强大的文本处理语言,专为高级文本处理和数据分析而设计。它被广泛应用于快速编写脚本来处理文本文件,如日志文件、配置文件等。Awk的核心功能在于能够方便地对文本...
- **日志分析**:AWK非常适合提取、过滤和统计日志文件中的关键信息。 - **数据转换**:它可以用来从一种格式转换为另一种格式,例如CSV到TSV。 - **报告生成**:通过组合和格式化数据,快速生成报表。 - **性能...
Linux中的AWK命令是一个强大的文本分析工具,它允许用户在数据流中进行模式匹配和处理。这个命令的名字来源于它的三位创始人—— Alfred V. Aho、Peter J. Weinberger 和 Brian W. Kernighan 的首字母缩写。在Linux...
Linux中的`awk`命令是一个强大...总之,`awk`是Linux系统中处理文本的强大工具,其灵活性和效率使其在数据分析、日志分析等场景中广泛应用。通过熟练掌握`awk`命令,你可以更有效地操作和解析文本数据,提高工作效率。
### awk命令详解:快速进阶与简洁入门 #### 第一章:awk的调用方式 在Shell编程中,`awk`是一种极其强大的工具,主要用于文本数据的处理与分析。它能够方便地处理列数据,因此在数据分析、日志处理等方面应用广泛...
这条命令将 log_file 文件中的每一行数据都输出到标准输出,然后使用 sort 和 uniq 命令对输出结果进行排序和去重,最后使用 wc 命令统计输出结果的行数。 2. 查看某一个页面被访问的次数 使用 grep 和 wc 命令...
- 例如,要打印包含字符串"example"的所有行,可以使用命令:`awk '/example/ { print }' 文件名`。 2. **选项解析**: - `-F` 指定字段分隔符,默认为空格。 - `-f` 指定包含awk程序的文件。 - `-v` 变量赋值...
2. **简单易用**:与 C 或 C++ 相比,Awk 更加简单易学,用户可以直接在命令行中使用 Awk 命令进行简单的文本处理,无需经历复杂的编译步骤。 3. **广泛可用**:Awk 通常作为标准工具包含在大多数 UNIX 和类 UNIX ...
假设我们需要从一个日志文件中提取所有 IP 地址,并统计每个 IP 的出现次数,可以使用以下 **awk** 命令: ```bash awk '{print $1}' access.log | sort | uniq -c ``` 这里,`{print $1}` 表示打印每一行的第一个...
在IT领域,`awk`是一种强大的文本分析工具,常用于处理结构化数据,如日志文件、CSV数据等。`set`在`awk`中是一个关键的概念,它涉及到变量、数组以及模式匹配等方面。本手册将深入探讨`awk set`的使用方法,帮助你...
在Unix和Linux操作系统中,`awk`是一个强大的文本分析工具,用于处理结构化的文本数据,如日志文件、CSV文件等。它通过模式匹配和动作来解析和操作文本,是系统管理员和程序员不可或缺的工具之一。`awk`的名字来源于...
大家都知道,通过使用 shell 命令可以很方便地对日志进行统计和分析,当服务有异常的时候,需要去排查日志,那么掌握一种统计日志的技巧就是必不可少的了。 假设有一个包含下面内容的日志文件 access.log。我们以...
5. 分析访问页面:分析访问页面时,可以使用awk命令提取日志中的页面信息,然后用sort和uniq命令来统计访问次数,最终筛选出访问次数最多的页面。 6. 查看进程和端口连接:手册中提到了使用ps和netstat命令来查看...
8. 配合其他命令,awk 可以增强其功能,例如与 `df` 命令结合,仅显示设备名、可用空间和使用率:`df -h | awk '{printf("%-24s\t%-6s\t%-4s\n",$1,$4,$5)}'` 9. 查看每个 IP 打开的连接数:在分析网络连接时,awk ...
1. **命令行方式**:直接在命令行输入AWK命令,这种方式适用于简单的文本处理任务。 2. **脚本文件方式**:将AWK程序写入文件,然后通过命令行调用该文件。这种方式适合处理复杂的逻辑和较长的程序。 3. **命令解释...
例如,如果你想从一个CSV文件中提取第二列的所有数据,可以使用以下awk命令: ```bash awk -F ',' '{print $2}' filename.csv ``` 这里,"-F ','"指定了逗号作为字段分隔符,而`print $2`则表示打印每行的第二个字段...
这条命令展示了如何使用 AWK 来打印 `/etc/passwd` 文件中的内容。其中 `{print}` 表示对于文件中的每一行执行 print 命令,输出整行内容。 - **打印特定字段**:`awk -F":" '{print $1}' /etc/passwd`。这条命令...
此命令统计了除第一行外,每列出现的频率,并在最后输出每列及其出现次数占总行数的比例。 3. **文件输入**: awk不仅可以处理单一文件,还能处理标准输入。 ```sh cat file | awk '{print $1}' ``` 该命令首先...
在"AWK编程实例指南.rar"这个压缩包中,我们有两个文件:"AWK编程实例指南.txt"和"www.pudn.com.txt",它们可能是关于AWK命令和实例的详细教程或示例代码。 "AWK编程实例指南.txt"很可能是AWK的教程文档,涵盖了...