栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据日期范围过滤日志文件条目

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据日期范围过滤日志文件条目

是的,有多种方法可以做到这一点。这是我将如何处理的。对于初学者,无需通过管道传递cat的输出,只需使用打开日志文件

awk

awk -vDate=`date -d'now-2 hours' +[%d/%b/%Y:%H:%M:%S` '$4 > Date {print Date, $0}' access_log

假设您的日志看起来像我的日志(它们是可配置的),则日期存储在字段4中,并放在方括号中。我在上面所做的就是在过去2小时内找到所有内容。

Note the-d'now-2 hours'
或现在字面翻译为减去2小时,对我来说看起来像这样:
[10/Oct/2011:08:55:23

因此,我要做的是存储两个小时前的格式化值,并与第四字段进行比较。条件表达式应该简单明了,然后打印日期,然后打印输出字段分隔符(OFS-
在这种情况下为空格),然后打印整行$ 0。您可以使用以前的表达式,仅打印$ 1(IP地址)

awk -vDate=`date -d'now-2 hours' +[%d/%b/%Y:%H:%M:%S` '$4 > Date {print $1}' | sort  |uniq -c |sort -n | tail

如果要使用范围,请指定两个日期变量并适当地构造表达式。

因此,如果您想在2-4小时之前找到某些东西,您的表情可能看起来像这样

awk -vDate=`date -d'now-4 hours' +[%d/%b/%Y:%H:%M:%S` -vDate2=`date -d'now-2 hours' +[%d/%b/%Y:%H:%M:%S` '$4 > Date && $4 < Date2 {print Date, Date2, $4} access_log'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号