awk基础-精确到秒的筛选日志
AI-摘要
KunKunYu GPT
生成中. . .
介绍自己
生成本文简介
推荐相关文章
前往主页
awk基础-精确到秒的筛选日志
筛选给定时间范围内的日志
grep/sed/awk用正则去筛选日志时,如果要精确到小时、分钟、秒,则非常难以实现。主要难点在于日期时间各个部分的进制是不一样的,比如小时是24进制/12进制,分钟是60进制,秒也是60进制(闰秒时为61进制)。
但是awk提供了mktime()
函数,它可以将时间转换成距离1970-01-01 00:00:00的秒数,即epoch时间值。
借此,可以取得日志中的时间字符串部分,再将它们的年、月、日、时、分、秒都取出来,然后放入mktime()构建成对应的epoch值。因为epoch值是数值,所以可以比较大小,从而决定时间的大小。
下面strptime1()实现的是将2019-11-10T03:42:40+08:00
格式的字符串转换成epoch值,然后和which_time比较大小即可筛选出精确到秒的日志。
下面strptime2()实现的是将10/Nov/2019:23:53:44+08:00
格式的字符串转换成epoch值,然后和which_time比较大小即可筛选出精确到秒的日志。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
作者编辑不易,如有转载请注明出处。完整转载来自https://wangairui.com 网站名称:猫扑linux
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果