我正在尝试使用 awk 在日志文件中查找最近 5 分钟内出现的字符串。 我正在尝试的命令是
awk -v d1="$(date --date="-5 min" "+%b %_d %H:%M")" -v d2="$(date "+%b %_d %H:%M")" '$0 > d1 && $0 < d2 || $0 ~ d2' /tmp/CustomService.log | grep -ci "IAM-548792"
但这并没有返回输出。
日志文件中的内容如下所示
2016-11-07 16:08:05 DEBUG Service - Request: Started
2016-11-07 16:08:05 DEBUG Service - ##########
2016-11-07 16:08:05 DEBUG Service - Response: Completed at Mon 2016.11.07 at 04:08:05 PM EST
2016-11-07 16:08:05 DEBUG Service - IAM-548792. Internal Error
我认为问题是我的日志与 linux 使用的默认日期命令相比具有不同的时间戳。这是导致问题的原因吗?
我正在开始使用 awk 命令。感谢您的帮助。
最佳答案
你必须改变你的日期格式
这就是你拥有的
[user@user ~]$ date "+%b %_d %H:%M"
Nov 7 16:30
这就是你想要的
[user@user ~]$ date "+%F %H:%M:%S"
2016-11-07 16:32:05
关于linux - 在 Linux 中获取自定义记录器的日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40474915/