ubuntu如何查找某个时间段的日志信息?

日志示例:

2024-04-15 14:06:32,523 1161 INFO B8 odoo.addons.base.models.ir_cron: Job Post process payment transactions done.

根据提供的日志示例,日期格式为YYYY-MM-DD HH:MM:SS,sss。基于这个日期格式,以下是一条可以筛选今天9:40到9:50之间日志信息的命令:

bash 复制代码
strings /var/log/odoo/odoo-server.log | grep "$(date +'%Y-%m-%d')" | awk -F'[ :,]' '$2 >= 9 && $3 >= 40 && $2 <= 9 && $3 <= 50'

这条命令的作用是首先使用grep命令过滤出今天的日志信息,然后使用awk命令根据时间范围筛选出9:40到9:50之间的日志信息。在awk命令中,-F'[ :,]'指定了字段分隔符为空格或逗号或冒号,然后通过条件$2 >= 9 && $3 >= 40 && $2 <= 9 && $3 <= 50来筛选出符合时间范围的日志条目。

在awk命令中,1、2、$3等表示当前行被awk分割后的字段(列)。具体来说:

$1表示第一个字段(通常是行中的第一个单词或值)。

$2表示第二个字段。

$3表示第三个字段。

以此类推。

在提供的日志示例中,日期时间格式为YYYY-MM-DD HH:MM:SS,sss,通过awk命令中的字段提取,2对应的是小时部分,而3对应的是分钟部分。因此,在上面给出的awk命令中,2 \>= 9 \&\& 3 >= 40 && 2 \<= 9 \&\& 3 <= 50这部分条件就是用来筛选出时间在9:40到9:50之间的日志信息。

相关推荐
cyber_两只龙宝2 分钟前
【Oracle】Oracle之SQL的聚合函数和分组
linux·运维·数据库·sql·云原生·oracle
做运维的阿瑞2 分钟前
Linux 系统启动过程解析
linux·运维·服务器
菜菜小狗的学习笔记2 分钟前
八股(六)操作系统
linux·运维·服务器
zhou7577121711 分钟前
linux搭建 Hermes Agent(爱马仕)
linux·运维·服务器
Techblog of HaoWANG12 分钟前
目标检测与跟踪(16)-- Ubuntu 20.04 下 ROS1 + Conda 虚拟环境开机自启动方案(兼容 ROS2 共存)
人工智能·目标检测·ubuntu·机器人·视觉检测·conda·控制
原来是猿18 分钟前
Linux线程同步与互斥(三):POSIX信号量与环形队列生产者消费者模型
linux·运维·服务器·开发语言
ic爱吃蓝莓34 分钟前
破译 Linux 的“黑话”(常用命令解释)
linux·运维·服务器
charlie11451419136 分钟前
嵌入式Linux驱动开发(3)——内核模块机制 - Linux 的插件系统
linux·运维·开发语言·驱动开发·嵌入式硬件·学习
杨云龙UP1 小时前
2000—CentOS Linux 7上部署Oracle 19c(19.3) RAC(RedHat/CentOS 7/8)
linux·运维·服务器·数据库·oracle·centos
java_logo1 小时前
Docker 部署 Hermes Agent 完整指南(Windows / Linux 通用)
linux·windows·docker·hermes-agent部署·docker部署hermes·hermes-agent教程·hermes-agent文档