筛选给定范围内的日志

news2024/11/12 14:41:48

目录

1.时间戳

2.实例

1.首先创建ubuntu.log日志

2.写dem.awk创建规则

3.筛选


1.时间戳

        一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。

        awk提供了mktime()函数,它可以将时间转换成epoch时间值。

root@ubuntu1:~# awk 'BEGIN{print mktime("2023 08 03 09 12 40")}'
1691025160

        可以取得日志中的时间字符串部分,再将它们的年、月、日、时、分、秒都取出来,然后放入mktime()构建成对应的epoch值。因为epoch值是数值,所以可以比较大小,从而决定时间的大小。

2.实例

        下面实现的是将2019-11-10T03:42:40+08:00 格式的字符串转换成 epoch 值,然后和 which_time 比较大小,既可以筛选出精确到秒的日志。

   操作过程

1.首先创建ubuntu.log日志

[2023-08-03T01:47:20.491Z] [ message] [vmsvc] [653] VMware Tools Version: 12.1.5.39265 (build-20735119)
[2023-08-03T01:47:20.493Z] [ message] [vmsvc] [653] Guest OS details: architecture='X86' bitness='64' distroName='Ubuntu 22.04.2 LTS' distroVersion='22.04' familyName='Linux' kernelVersion='5.19.0-50-generic' prettyName='Ubuntu 22.04.2 LTS'
[2023-08-03T01:47:20.491Z] [ message] [vmsvc] [653] Log caching is enabled with maxCacheEntries=4096.
[2023-08-03T01:47:20.493Z] [ message] [vmsvc] [653] Core dump limit set to -1
[2023-08-03T01:47:20.616Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'hgfsServer', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.616Z] [ message] [vmtoolsd] [653] Plugin 'hgfsServer' initialized.
[2023-08-03T01:47:20.616Z] [ message] [vix] [653] QueryVGAuthConfig: vgauth usage is: 1
[2023-08-03T01:47:20.616Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'vix', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.616Z] [ message] [vmtoolsd] [653] Plugin 'vix' initialized.
[2023-08-03T01:47:20.616Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'appInfo', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.616Z] [ message] [vmtoolsd] [653] Plugin 'appInfo' initialized.
[2023-08-03T01:47:20.616Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'componentMgr', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.616Z] [ message] [vmtoolsd] [653] Plugin 'componentMgr' initialized.
[2023-08-03T01:47:20.616Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'guestInfo', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.616Z] [ message] [vmtoolsd] [653] Plugin 'guestInfo' initialized.
[2023-08-03T01:47:20.616Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'powerops', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.616Z] [ message] [vmtoolsd] [653] Plugin 'powerops' initialized.
[2023-08-03T01:47:20.616Z] [ message] [resolutionCommon] [653] resolutionCheckForKMS: dlopen succeeded.
[2023-08-03T01:47:20.617Z] [ message] [resolutionCommon] [653] resolutionCheckForKMS: System support available for resolutionKMS.
[2023-08-03T01:47:20.617Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'resolutionKMS', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.617Z] [ message] [vmtoolsd] [653] Plugin 'resolutionKMS' initialized.
[2023-08-03T01:47:20.618Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'timeSync', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.618Z] [ message] [vmtoolsd] [653] Plugin 'timeSync' initialized.
[2023-08-03T01:47:20.618Z] [ message] [vmsvc] [653] Cannot load message catalog for domain 'vmbackup', language 'zh', catalog dir '/usr/share/open-vm-tools'.
[2023-08-03T01:47:20.618Z] [ message] [vmtoolsd] [653] Plugin 'vmbackup' initialized.
[2023-08-03T01:47:20.644Z] [ message] [vix] [653] VixTools_ProcessVixCommand: command 62
[2023-08-03T01:47:22.065Z] [ message] [vix] [653] VixTools_ProcessVixCommand: command 62
[2023-08-03T01:47:22.066Z] [ message] [vix] [653] ToolsDaemonTcloReceiveVixCommand: command 62, additionalError = 17
[2023-08-03T01:47:22.067Z] [ message] [vmsvc] [653] Executing script for state change 'OS_PowerOn'.
[2023-08-03T01:47:22.067Z] [ message] [powerops] [653] Executing script: '/etc/vmware-tools/poweron-vm-default'
[2023-08-03T01:47:24.440Z] [ message] [vmsvc] [653] Script exit code: 0, success = 1

2.写dem.awk创建规则

BEGIN{
#要筛选什么时间的日志,将其时间构建成epoch值
        which_time = mktime("2023 08 03 07 20 40")
}
{
#取出日志的日期时间字符串部分
        {    match($0,"^.*\\[(.*)\\].*",arr)
#将日期时间字符串转换为epoch值
        tmp_time = strptime1(arr[1])
#通过比较epoch值来比较时间大小
        if(tmp_time > wgich_time){print}
}
#构建的时间字符串格式为:“2019-11-10T03:42:40+08:00"
function strptime1(str ,arr,Y,M,D,H,m,S){
        patsplit(str,arr,"[0-9]{1,4}")
        Y=arr[1]
        M=arr[2]
        D=arr[3]
        H=arr[4]
        m=arr[5]
        S=srr[6]
        return mktime(sprintf("%s %s %s %s %s %s",Y,M,D,H,m,S))
}

3.筛选

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/839070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

macbook怎么卸载软件?2023年最新全新解析macbook电脑怎样删除软件

macbook怎么卸载软件?2023年最新全新解析macbook电脑怎样删除软件。关于Mac笔记本如何卸载软件_Mac笔记本卸载软件的四种方法的知识大家了解吗?以下就是小编整理的关于Mac笔记本如何卸载软件_Mac笔记本卸载软件的四种方法的介绍,希望可以给到…

像素画教程:立体感与“84渐变法“

像素画本身没有什么困难,是矢量图简笔画之外最简单、而又最容易产生美术效果的画风。 然而,细节难以描绘、立体感难表现、画面易单调成了像素画绘制过程中的常见困难。 这篇文章或许不能保证每个人都能熟练掌握、运用像素画,但至少可以抛砖引…

任务14、无缝衔接,MidJourney瓷砖(Tile)参数制作精良贴图

14.1 任务概述 在这个实验任务中,我们将深入探索《Midjourney Ai绘画》中的Tile技术和其在艺术创作中的具有挑战性的应用。此任务将通过理论学习与实践操作相结合的方式,让参与者更好地理解Tile的核心概念,熟练掌握如何在Midjourney平台上使用Tile参数,并实际运用到AI绘画…

【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台

吃完快餐粥,除了粥的味道不错之外,我对个快餐盒的圆盖子产生了兴趣,能否做个极低成本的简易机器人呢?也许只需要二十元左右 知识点:轮子(wheel) 中国词语。是用不同材料制成的圆形滚动物体。简…

Dockerfile定制Tomcat镜像

Dockerfile中的打包命令 FROM : 以某个基础镜像作为此镜像的基础 RUN : RUN后面跟着linux常用命令,如RUN echo xxx >> xxx,注意,RUN 不能用于执行命令,因为每个RUN都是独立运行的,RUN 的cd对镜像中的…

Python求均值、方差、标准偏差SD、相对标准偏差RSD

均值 均值是统计学中最常用的统计量,用来表明资料中各观测值相对集中较多的中心位置。用于反映现象总体的一般水平,或分布的集中趋势。 import numpy as npa [2, 4, 6, 8]print(np.mean(a)) # 均值 print(np.average(a, weights[1, 2, 1, 1])) # 带…

Godot4 C# vscode开发环境搭建

这里写自定义目录标题 软件Godot配置vscode配置结果参考 软件 Godot .Net版本: 下载链接vscode :自行下载.netcore7:.netcore6可能也行vscode插件: Godot配置 1.配置文件用VSCode打开 2.生成C#项目 项目–>工具–>C#->Create C# Solution&…

Python 关于模块的几点介绍 。和。。和__all__和__main___和__file__

./ 是意思让解释器去引用当前目录下的内容 ../ 是意思让解释器去引用上层目录下的内容 __all__ 用来定义我们导出的内容可以有哪些的一个编码方式 flake8 可以检测代码的安全隐患,在python中 if __name__ __main__ 现在有两个文件,分别为&a…

【Unity3D】花瓣特效

1 花瓣绘制原理 如下图是实现的花瓣特效效果,为方便描述,我们将每个红色的扁状长条称为花瓣,每个花瓣中心的绿点称为花蕊,花朵的正中心称为花心。 我们在 xOz 平面上绘制花朵,假设花心为 O 点,其世界坐标为…

JVM之类加载与字节码

1.类文件结构 一个简单的HelloWorld.Java package cn.itcast.jvm.t5; // HelloWorld 示例 public class HelloWorld { public static void main(String[] args) { System.out.println("hello world"); } }编译为 HelloWorld.class 后的样子如下所示: […

CentOS安装podman-compose

1. 安装python3的依赖 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel 如果当前登录的是普通用户,需要在命令前加sudo,否则不用&…

C++实用技术(二)std::function和bind绑定器

目录 简介std::functionstd::function对象包装器std::function做回调函数 std::bind绑定器bind绑定普通函数bind绑定成员函数 简介 C11新增了std::function和std::bind。用于函数的包装以及参数的绑定。可以替代一些函数指针,回调函数的场景。 std::function std…

git 版本控制与合并

一 git概述: - Git是一种分布式版本控制系统,用于跟踪和管理软件开发项目中的代码变更。 - 它允许多人协同工作,记录代码历史变更,并轻松管理多个项目版本。 **Git的主要特点**包括: 1. **分布式系统**:…

嵌入式开发学习(STC51-14-时钟)

内容 在数码管上显示时间,时分秒,格式为“XX-XX-XX”; DS1302时钟芯片介绍 简介 DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信&#xf…

系统架构设计高级技能 · 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythin…

第4集丨Vue 江湖 —— 计算属性

目录 一、基本使用1.1 在computed中定义1.1.1 案例1.1.2 控制台调用getter1.1.3 控制台中的data和computed 1.2 缓存效果1.3 完整写法1.3.1 案例1.3.2 效果图 1.4 简写形式 二、案例的其他实现2.1 methods实现2.2 插值语法实现 三、体会计算属性的好处3.1 复杂任务时3.2 使用计…

IO模型-信号驱动IO

linux内核中存在一个信号SIGIO,这个信号就是用于实现信号驱动IO的。当应用程序中想要以信号驱动IO的模型读写硬件数据时,首先注册一个SIGIO信号的信号处理函数,当硬件数据就绪,硬件会发起一个中断,在硬件的中断处理函数中向当前进…

求解n阶勒让德多项式的值

描述 用递归方法求n阶勒让德多项式的值,递归公式为: 在主函数中输入一个整数n和一个实数x,调用函数 legendre(n,x),并输出其返回值。 输入 第一行输入一个整数n,表示阶数;第二行输入一个实数x。 输出 …

增强型Web安全网关在银行的应用

销售,绝不是降低身份去取悦客户,而是像朋友一样给予合理的建议。你刚好需要,我刚好专业!仅此而已! 乔.吉拉德 健康的安全体系,还可以更完善 浙江某商业银行股份有限公司是一家成立多年的商业银行&#xf…