Bash脚本从日志文件中的行中提取日期/时间

时间:2018-02-11 17:20:25

标签: bash shell

我正在寻求帮助来编写一个脚本,该脚本将从日志文件中获取最后一行并获取最后一行的日期/时间条目。然后从当前日期/时间到文件最后一行的日期/时间进行比较。如果时差相差60分钟,则报告过程失败,即错误代码1。

日志文件格式为:

Feb 11 16:46:01 [8064][8082] ssnotify.cpp:442:Send(): Send notification by mail: EvtType[5] SenderType[0] SenderName[Landing]    
Feb 11 16:50:52 [8064][8081] ssnotify.cpp:442:Send(): Send notification by mail: EvtType[5] SenderType[0] SenderName[Landing]    
Feb 11 17:07:56 [8064][8082] ssnotify.cpp:442:Send(): Send notification by mail: EvtType[5] SenderType[0] SenderName[Landing]    
Feb 11 17:13:58 [8064][8082] ssnotify.cpp:442:Send(): Send notification by mail: EvtType[5] SenderType[0] SenderName[Landing]

1 个答案:

答案 0 :(得分:1)

使用tail -1获取最后一行,然后使用awk提取第三列(包含日期):

tail -1 your_file | awk '{print $3}'