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

相关推荐
虾..18 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙18 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
꧁坚持很酷꧂19 小时前
解决虚拟机Ubuntu22.04连接了串口设备但终端没有显示
ubuntu
hkhkhkhkh12320 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
HZero.chen21 小时前
Linux字符串处理
linux·string
张童瑶21 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
汪汪队立大功12321 小时前
什么是SELinux
linux
石小千1 天前
Linux安装OpenProject
linux·运维
柏木乃一1 天前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-30901 天前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu