linux 统计日志数量总,shell统计日志中时间段内匹配的数量的方法
shell统计日志中时间段内匹配的数量的方法,有需要的朋友可以参考下。
假设日志文件mtasvr.log格式如下:
T:24583088(04:02:06)[root:Info] 6KqowLDLAgC93DFIKrENAA==.41S2:from=,to=, queued
T:122428336(13:36:51)[root:Info] 6KqowLAbAAByYzJIZGsOAA==.2W:from=,to=, queued
要求统计从14:27:20到15:26:41之间包含queued的数量。
最初,用grep匹配queued,然后用awk取出()中间的时间,最后用wc来统计行数,得到下面这条语句:
复制代码 代码如下:
cat mtasvr.log |grep queued |awk -F\( '{print $2}' |awk -F\) '{if ($1>="14:27:20" && $1<="15:26:41") {print $1}}' |wc -l
接下来,觉得两次awk取出括号()中的时间比较繁琐。决定用sed替换掉括号再统计,会比较好看:
复制代码 代码如下:
cat mtasvr.log |grep 'queued' |sed "s/[()]/;/g" |awk -F\; '{if ($2>="14:27:20" && $2<="15:26:41") {print}}' |wc -l
然后,想法应该去掉cat和grep。cat本身就没必要,grep的匹配也可以直接用sed来完成:
复制代码 代码如下:
sed "/queued/s/[()]/;/g" mtasvr.log |awk -F\; '{if ($2>="14:27:20" && $2<="15:26:41") {print}}' |wc -l
最后,把wc统计行数也去掉,只用sed和awk来完成这个任务:
复制代码 代码如下:
sed "/queued/s/[()]/;/g" mtasvr.log |awk -F\; '{if($2>="14:27:20" && $2<="15:26:41") m++} END{print m}'
总结:
sed和awk很强大,当然有些简化也没必要。
比如wc就能很好的完成统计行数的任务,没必要再去想awk怎么来实现。
linux 统计日志数量总,shell统计日志中时间段内匹配的数量的方法相关推荐
- linux下logcat命令,Android shell命令行中过滤adb logcat输出的几种方法
我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb lo ...
- linux测试主机的连通性,shell脚本测试某网段内主机连通性
linux shell 的 shell脚本测试某网段内主机连通性 1. 测试192.168.4.0/24整个网段的连通性(while版本) #!/bin/bash #Author:丁丁历险(Jacob ...
- java数组 规定数量_java – 如何在数组中保持不同事物的数量?
我遇到了一些我不理解的部分代码.它与保持字符串中的字母数量有关.我评论了我没有得到的部分.我将不胜感激任何帮助.谢谢! 我尝试在网上查找,但似乎没有人回答我的问题. public class test ...
- wim linux u盘启动项,WinPE迷你系统中通过WimFltr组件挂载WIM镜像方法
Microsoft Windows Imaging Format (WIM) 映像是MS新型的映像文件,具有高压缩比.挂接方便.挂接内存小等特点.在XP/2K3的winpe中通过挂接WIM作为外置程序 ...
- 深度linux怎样设置显卡,在deepin stable系统中配置Intel+Nvidia双显卡的方法
本文介绍在deepin stable操作系统中配置Intel+Nvidia双显卡的方法,deepin的stable版本目前没有nv-prime的支持,以下配置intel双显卡驱动还是挺简单的,按照步骤 ...
- Linux云计算运维之Shell
Linux云计算运维之Shell find 搜索文件名是完全匹配 grep 搜索文件名中的字符串,包含匹配 echo "字符串" : 把字符串输出到控制台 变量分类 : set [ ...
- dbcc 删除日志_有用的DBCC日志命令
dbcc 删除日志 背景 (Background) When we're architecting or troubleshooting issues in an environment, under ...
- hadoop中map和reduce的数量设置问题
转载http://my.oschina.net/Chanthon/blog/150500 map和reduce是hadoop的核心功能,hadoop正是通过多个map和reduce的并行运行来实现任务 ...
- java利用友盟 计算pv uv_通过nginx日志利用shell统计日pv和uv
通过nginx日志利用shell统计日pv和uv 网上记录nginx日志统计访问量的脚本的文档很多,但是看来看去实际都是一个东西,如下: 1.根据访问IP统计UV awk '{print $1}' ...
最新文章
- echarts 在两点之间画一条线_树的手绘很难画?分步骤教你画,简单易学,收藏起来临摹学习...
- C#:统计字符串中每个字符的个数
- SharePoint 2010 technology stack
- kaggle房价预测特征意思_未来销量预测——Kaggle基础方案(三):特征工程及线下验证划分...
- 3dm java32位_3DM游戏运行库合集安装包v2.3
- 走在身后的2021,迎面走来的2022
- 九、Redis三种集群模式
- java二级易错点一
- JAVA 静态方法和成员方法、静态方法的调用
- 春节不打烊,这份安全应急指南请收好!
- linux 16.04 安装与使用vscode试水
- 1660_MIT 6.828 JOS初始化boot_alloc的初步实现
- @4-1 CCF 2020-06-1 线性分类器
- 开关、电机、断路器、电热偶、电表接线图大全
- 微信公众平台开发之微客服
- SOFAJRaft 在同程旅游中的实践
- PhotoShop CC 2017软件整体界面及常规设置
- Selenium全屏截图,使用PIL拼接滚动截图
- Azkaban的使用
- android开发资料!4年小Android的心路历程,附大厂真题面经