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之间的日志信息。

相关推荐
昌原的儿子LEO20 分钟前
Linux 网络编程:select 与 epoll IO 多路复用详解
linux·网络·数据库
Jason_zhao_MR25 分钟前
Linux与采集MCU通信为什么我们用了双SPI
linux·arm开发·单片机·嵌入式硬件·嵌入式
草莓熊Lotso25 分钟前
【Redis 初阶】特殊数据类型、渐进式遍历与数据库操作生产指南
linux·网络·数据库·redis·tcp/ip·缓存·bootstrap
λqaq730 分钟前
Redis 数据库基础:安装、5 大核心数据类型与常用命令
linux·数据库·redis·python·缓存
CS_Zero36 分钟前
Ubuntu 22.04挂载新硬盘
linux·运维·ubuntu
oushaojun238 分钟前
深入 Linux 动态链接:so 库构建与运行逻辑(转)
linux
好评1241 小时前
【Linux】应用层自定义协议与序列化
linux·运维·网络
赴生-1 小时前
Lunix 操作系统 基本指令(一)
linux
oushaojun21 小时前
大厂 C++ 后端面试:深度拆解 Linux页表 机制(转)
linux
励志不掉头发的内向程序员1 小时前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构