gpt4 book ai didi

linux - 提取 message.log 文件中部分时间戳的 Shell 脚本程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:43:13 27 4
gpt4 key购买 nike

我在 var/log/messages.log 中有如下数据,现在我需要搜索 WAM 数据行并仅提取部分时间戳

例如

2013-07-09T02:22:28.535639Z [24] user.info WebAppMgr WAM APPLAUNCH_INITIATED

上面一行包含WAM,我只需要22:28.535639Z messages.log中的数据

2013-07-09T02:22:28.535639Z [24] user.info WebAppMgr WAM APPLAUNCH_INITIATED 
2013-07-09T02:22:21.817372Z [17] user.info sam SAM ^Icom.palm.app.calculator
2013-07-09T02:22:21.818442Z [17] user.info sam SAM ^Icom.palm.app.settings
2013-07-09T02:24:04.738067Z [120] user.info WebAppMgr WAM APPLAUNCH_INITIATED
2013-07-09T02:22:21.846636Z [17] user.info sam SAM ^Icom.palm.app.notes
2013-07-09T02:22:21.851727Z [17] user.info sam SAM ^Icom.palm.app.firstuse
2013-07-09T02:22:21.854172Z [17] user.info sam SAM ^Icom.palm.app.isis2
2013-07-09T02:22:21.863786Z [17] user.info sam SAM ^Icom.palm.sysapp.voicedial
2013-07-09T02:24:04.746751Z [120] user.info WebAppMgr WAM APP CREATED WINDOW

我能够提取 2013-07-09T02:22:28.535639Z。我需要知道如何提取 22:28.535639Z

#! /bin/sh
awk '/\ WAM/ {print $1"\t"}' /home/santosh/messages

我得到这样的输出

2013-07-09T02:22:28.535639Z
2013-07-09T02:24:04.738067Z
2013-07-09T02:24:04.746751Z

但我只需要下面的数据

22:28.535639Z
24:04.738067Z
24:04.746751Z

最佳答案

您可以在当前的 awk 调用中执行此操作:

awk '/\<WAM\>/ {split($1, a, ":"); print a[2] ":" a[3]}' file

\<\>是词边界断言。

关于linux - 提取 message.log 文件中部分时间戳的 Shell 脚本程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17553975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com