gpt4 book ai didi

linux - 在日志文件中使用日期时间和 ID 进行 Grep

转载 作者:太空宇宙 更新时间:2023-11-04 12:11:22 27 4
gpt4 key购买 nike

我正在尝试使用 grep 命令提取包含日期和 ID 的行,但遇到一些困难。
当我使用命令时

grep "$(date+"%Y-%m-%d %H:%M:%S")" catalina_pi.log

这给了我每一行的日期,但是当我用像

这样的“id”做管道时
grep "$(date+"%Y-%m-%d %H:%M:%S")" catalina_pi.log | grep "518643640"

这是给出包含“id”的行,但日期时间不存在,并且还有一个错误

date+"%Y-%m-%d %H:%M:%S: command not found

但是在第一个命令中,这并没有给我那个错误。所以我需要一些帮助来获取包含“datetime”和“id”的行。
这是我的日志文件中的数据:

[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler -
Message received : {"Id":"518643640","userId":"3142"}
[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler -
Message received : {"Id":"518643640","userId":"3142"}
[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler -
Sending message : {"id":301,"errorCode":403,"description":null}

我的预期输出是

[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler - Message received : {"Id":"518643640","userId":"3142"}
[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler - Message received : {"Id":"518643640","userId":"3142"}

最佳答案

要获取包含 ID 的行及其前面包含 DATE 的行,请使用以下命令。

grep <id> -B1

-B1 选项将在包含搜索字符串的行之前打印一行。

例子:

grep "518643640" -B1

将为您提供以下输出:

[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler -
Message received : {"Id":"518643640","userId":"3142"}
[2018-01-31 18:34:44.044] [https-jsse-nio-8443-exec-9] DEBUG c.v.w.handlers.SocketMessageHandler -
Message received : {"Id":"518643640","userId":"3142"}

关于linux - 在日志文件中使用日期时间和 ID 进行 Grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48812865/

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