gpt4 book ai didi

linux - 读取日志文件并获取两个日期之间的条目

转载 作者:太空宇宙 更新时间:2023-11-04 10:16:38 24 4
gpt4 key购买 nike

我想从访问日志文件中提取一些匹配关键字和两个日期之间的信息。对于前。我想查找包含文本“passwd”的两个日期之间的日志条目。现在,我正在使用以下命令但没有得到正确的结果:

fgrep "passwd" * | awk '$4 >= "[20/Aug/2017" && $4 <= "[22/Aug/2017"'

日期格式为 [22/Feb/2017:17:28:42 +0000]。

这个帖子我也搜过看过extract data from log file in specified range of time但不完全了解如何使用它。

编辑:

Following are the example entries of the access log files,
xxx-access_log:xx.xx.xx.xx - - [22/Feb/2017:17:30:02 +0000] "GET /cms/usr/extensions/get_tree.inc.php?GLOBALS[root_path]=/etc/passwd%00 HTTP/1.1" 404 39798
xxx-access_log:xx.xx.xx.xx - - [22/Feb/2017:17:31:12 +0000] "GET /cgi-bin/libs/smarty_ajax/index.php?_=&f=update_intro&page=../../../../../../../../../../../../../../../../../../etc/passwd%00 HTTP/1.1" 404 30083
xxx-access_log:xx.xx.xx.xx - - [22/Feb/2017:17:31:19 +0000] "GET /download/libs/smarty_ajax/index.php?_=&f=update_intro&page=../../../../../../../../../../../../../../../../../../etc/passwd%00 HTTP/1.1" 404 27982
xxx-access_log:xx.xx.xx.xx - - [22/Feb/2017:17:31:24 +0000] "GET /sites/libs/smarty_ajax/index.php?_=&f=update_intro&page=../../../../../../../../../../../../../../../../../../etc/passwd%00 HTTP/1.1" 404 35256
xxx-access_log:xx.xx.xx.xx - - [22/Feb/2017:17:28:32 +0000] "GET /modx/manager/media/browser/mcpuk/connectors/php/Commands/Thumbnail.php?base_path=/etc/passwd%00 HTTP/1.1" 404 6956
xxx-access_log:xx.xx.xx.xx - - [22/Feb/2017:17:28:42 +0000] "GET /modx/manager/media/browser/mcpuk/connectors/php/Commands/Thumbnail.php?base_path=/etc/passwd%00 HTTP/1.1" 404 6956

提前感谢您的帮助!

最佳答案

如果您知道日志文件中出现的 2 个特定字符串,将使用您引用的链接。该命令将搜索第一个字符串并显示所有行,直到找到第二个字符串然后停止。

在您的情况下,如果您想要通用日期操作,您最好使用 perl 和日期/时间模块之一。其中大多数(如果不是全部)都具有内置的日期比较例程,并且其中许多将以几乎可以想象的任何格式获取日期......而那些通常不提供指定日期格式的能力。

(如果您只使用日期而不使用时间,那么 Date::EzDate 是我的最爱,而且可能是最容易学习和快速实现的。)

Shell 命令可能无法很好地处理日期。

关于linux - 读取日志文件并获取两个日期之间的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45841616/

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