资讯专栏INFORMATION COLUMN

linux下使用awk命令按时间段筛选日志

JerryZou / 1656人阅读

摘要:需求很多时候我们需要按照时间段来进行日志的分析,比如说查看上午的,或者某月某日的的具体日志,就不能简单实用或者命令了。命令解析直接读取压缩文件的内容用来过滤特定字符的行用来执行命令用来切分字符串另外一种情况查询之前的日志

需求

很多时候我们需要按照时间段来进行日志的分析,比如说查看上午的,或者某月某日的的具体日志,就不能简单实用tail -f或者head -n命令了。这个时候我们需要借用awk

命令
zcat com.log20160529.gz | grep "dianping_reply.log"| awk "{split($4,array,"[");if(array[2]>="29/May/2016:00:00:26" && array[2]<="29/May/2016:00:01:14"){print $0}}" 
解释

扫描gz压缩文件,从中寻找带有dianping_reply的行,将改行按照[进行拆分,然后直接使用if条件进行判断,比较,最终输出想要的结果。
命令解析:

zcat 直接读取压缩文件的内容
grep用来过滤特定字符的行
awk 用来执行命令
split用来切分字符串

另外一种情况

test.log

[22/Feb/2017-18:51:58]    api.momo.com    /api/feed    HTTP/1.1      121.0.0.1      android1.2
[22/Feb/2017-18:51:59]    api.momo.com    /api/follow    HTTP/1.1      121.0.0.2    iphone1.1
[22/Feb/2017-18:52:58]    api.momo.com    /api/user    HTTP/1.1      121.0.0.3    iphone1.1
[22/Feb/2017-18:52:41]    api.momo.com    /api/feed    HTTP/1.1      121.0.0.4    android1.2
[22/Feb/2017-18:56:30]    api.momo.com    /api/follow    HTTP/1.1      121.0.0.2    android1.2
[22/Feb/2017-18:51:21]    api.momo.com    /api/user    HTTP/1.1      121.0.0.3    iphone1.1
[22/Feb/2017-18:59:58]    api.momo.com    /api/user    HTTP/1.1      121.0.0.3    android1.2
[22/Feb/2017-18:51:21]    api.momo.com    /api/feed    HTTP/1.1      121.0.0.1    iphone1.1

查询22/Feb/2017-18:52:59之前的日志

cat test.log | awk "{split($1,array,"[");split(array[2],array2,"]");if(array2[1] >= "22/Feb/2017-18:52:59"){print($0)}}"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30654.html

相关文章

  • LinuxNginx日志分析

    摘要:以默认的日志格式为例各字段的含义分别是请求者授权用户,如果不使用认证方式,其值为空服务器时间戳请求类型如,等请求路径不含参数协议版本服务器返回的状态码如,,等服务器响应报文大小,单位字段值字段以下列举常用的日志分析命令根据状态码进行请求 Access logs 以nginx默认的日志格式为例: $remote_addr - $remote_user [$time_local] $r...

    makeFoxPlay 评论0 收藏0
  • Linux常用命令总结

    摘要:总结一下日常开发中常用的命令忘记命令怎么使用了可以使用指令来,例如基础使用进入目录命令例子进入到目录查看自己所在路径例子我们在下执行命令我想看看这个文件的内容直接查看文件内容命令分段查看文件内容命令敲回车或者空格,可以继总结一下日常开发中常用的Linux命令忘记命令怎么使用了可以使用man指令来,例如 man ps ;man grep;基础使用1、进入目录 命令 --> cd /xxx...

    番茄西红柿 评论0 收藏2637
  • awk删除docker历史镜像

    摘要:初步列了以下方案用实现擅长,通过重定向将的输出传给,处理完后执行系统命令清除镜像。对镜像列表进行去重操作可以以镜像名称为进行去重获取历史镜像要保留最近个镜像清除历史镜像,其实就是保留数据前行,有个内置变量保存当前处理行编号。 背景 虽然对awk早有耳闻,据说是个很强大的工具,但一直没机会去了解和使用,最近碰到一个需求,用awk轻松解决,才真正一窥它的厉害。需求是这样的,应用每次升级都会...

    lentoo 评论0 收藏0

发表评论

0条评论

JerryZou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<