保留最近14天的日志

问题描述 投票:0回答:1

我是 Linux 命令新手。我目前正在 test.sh 中编写逻辑,仅保留过去 14 天的 Example.log

示例.log

[2024-03-25 05:36:42]: ERROR No such file or directory
[2024-03-24 05:36:42]: ERROR No such file or directory
[2024-03-23 05:36:42]: ERROR No such file or directory
[2024-03-21 05:36:42]: ERROR No such file or directory
[2024-03-20 05:36:42]: ERROR No such file or directory
[2024-03-19 05:36:42]: ERROR No such file or directory
[2024-03-18 05:36:42]: ERROR No such file or directory
[2024-03-17 05:36:42]: ERROR No such file or directory
[2024-03-16 05:36:42]: ERROR No such file or directory
[2024-03-15 05:36:42]: ERROR No such file or directory
[2024-03-14 05:36:42]: ERROR No such file or directory
[2024-03-13 05:36:42]: ERROR No such file or directory
[2024-03-12 05:36:42]: ERROR No such file or directory
[2024-03-11 05:36:42]: ERROR No such file or directory

我的第一个想法是使用

awk
和 if 来获取每一行,然后使用
cut
来获取前 10 个字符并与当天进行比较。如果 14 天内没有,则将其删除。但我不知道如何将这个逻辑转换为Linux命令。

非常感谢您的帮助。

谢谢!

shell
1个回答
0
投票
$ awk -F'^.|-| ' -v date=$(date +%Y%m%d) '$2$3$4 >= date-14' logfile
[2024-03-25 05:36:42]: ERROR No such file or directory
[2024-03-24 05:36:42]: ERROR No such file or directory
[2024-03-23 05:36:42]: ERROR No such file or directory
[2024-03-21 05:36:42]: ERROR No such file or directory
[2024-03-20 05:36:42]: ERROR No such file or directory
[2024-03-19 05:36:42]: ERROR No such file or directory
[2024-03-18 05:36:42]: ERROR No such file or directory
[2024-03-17 05:36:42]: ERROR No such file or directory
[2024-03-16 05:36:42]: ERROR No such file or directory
[2024-03-15 05:36:42]: ERROR No such file or directory
© www.soinside.com 2019 - 2024. All rights reserved.