gpt4 book ai didi

linux - grep 当前日期到 7 天前没有具体日期

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

在我的日志中,日期以 May 01 11:01:30 2018 的形式保存。在 grep 中,我无法给出具体日期,例如 grep "May 0[1-8]"

我如何执行 grep 或其他搜索命令来搜索从当前日期往前 7 天的日志?

示例:当前日期 - 7 天前

如果可能呢?还是简单的脚本?

最好的问候!

最佳答案

根据您尝试实现的进一步目标、日志类型和复杂性,可能需要编写一个小脚本。

您可以查看 How to get all the log lines between two dates ranges in Linux .为了快速引用,我也会在这里提供我的答案:

对于 Java 应用程序的日志文件,我经常使用的另一种方法是查找第一次出现时间戳的行号

FROM_DATE="Wed 21 Mar 14:52:08"
TO_DATE=""Wed 21 Mar 14:53:08"

FROM_LINE=$(grep -n -m 1 ${FROM_DATE} ${FILE} | cut -d ":" -f 1)
TO_LINE=$(grep -n -m 1 ${TO_DATE} ${FILE} | cut -d ":" -f 1)

然后给出之间的信息,即

tail -n "${FROM_LINE}" ${FILE} | head -n $(expr $TO_LINE - $FROM_LINE)

或通过

sed -n -e "${FROM_LINE},${TO_LINE} p" -e "${TO_LINE} q" ${FILE}

这将捕获堆栈跟踪、REST API 内容、JSON 结构等。

对于某些应用程序,例如来自 Hadoop 框架的应用程序,我有特定的脚本来处理它们的日志文件。

关于linux - grep 当前日期到 7 天前没有具体日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50347508/

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