gpt4 book ai didi

linux - 在日志文件中查找某个日期到其他日期之间的所有内容

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

我有一个如下所示的日志文件:

01/09/18 07:04:37.020   ********

01/09/18 07:04:37.020 ********

01/09/18 07:04:37.020 ********

01/09/18 07:04:37.020 ********

01/09/18 07:04:37.020 ********

01/09/18 07:04:37.020 ********

我需要打印 01/08/18 22:53:2801/08/18 23:12:19 之间的所有行,一个重要说明是这些日期不必存在于我的日志文件中。

我尝试了以下方法,但它们没有用:

awk -F'[]]|[[]' \ '$0 ~ /^\[/ && $2 >= "01/08/18 22:53:28" { p=1 }  $0 ~ /^\[/ && $2 >= "01/08/18 23:12:19" { p=0 } p { print $0 }' manager.log.6.gz

用sed命令

最佳答案

如果你有可用的 gawk,你可以使用 mktime功能。您的时间戳不在 yyyy-MM-dd hh:mm:ss 中格式,这样你就不能通过字符串直接比较(通过 >= or <= )它们。

您可以将给定的边界转换为时间戳,并且对于每一行,提取并转换时间戳部分,进行比较以决定是否打印该行。

或者您必须将日期时间字符串格式更改为 YYYY-MM-DD HH...进行字符串比较。

阅读有关 mktime 的 gawk 手册页部分,它相对易于使用。

关于linux - 在日志文件中查找某个日期到其他日期之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48163965/

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