gpt4 book ai didi

linux - 每小时从每日日志文件中捕获日志

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

我有一个每天轮换的日志文件(比如说主日志文件)我需要每小时捕获一次日志,然后存储每小时的日志文件

例如;

当我在 02/06/2017 03:41:35 执行脚本命令时,我需要 02:41:35 到 03:41:35 之间的日志

主日志文件

[02/06/2017][00:12:41][58162][3690952448][000000000000000000000000
[02/06/2017][00:12:41][58162][3690952448][000000000000000000000000
----------
[02/06/2017][03:41:35][57732][3674167040][000000000000000000000000
[02/06/2017][03:41:35][57732][3674167040][000000000000000000000000

每小时日志文件

[02/06/2017][02:41:35][58162][3690952448][000000000000000000000000
[02/06/2017][02:41:35][58162][3690952448][000000000000000000000000
----------
[02/06/2017][03:41:35][57732][3674167040][000000000000000000000000
[02/06/2017][03:41:35][57732][3674167040][000000000000000000000000

我已经执行了以下命令,但它不是捕获每小时日志而不是捕获所有日志

echo $(date -d'now-1 hours' +"[%d/%m/%Y][%H:%M:%S]") | cat mainlog.log 
echo $(date --date='1 hours ago' +"[%d/%m/%Y][%H:%M:%S]") | cat mainlog.log

最佳答案

您正在将 echo 的输出通过管道传输到 cat - 这不会过滤任何内容。 cat 将忽略来自管道 (stdin) 的输入,因为它正在从文件 mainlog.log 中读取。

您可以这样做(注意日期格式的变化 - 我已经删除了 %M%S 部分):

grep -F "$(date -d'now-1 hours' +'[%d/%m/%Y][%H:]')" mainlog.log 
grep -F "$(date -d'1 hours ago' +'[%d/%m/%Y][%H:]')" mainlog.log

在这里,grep 会在您的日志文件中查找 date 命令返回的字符串。

关于linux - 每小时从每日日志文件中捕获日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42060298/

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