有如下的日志/var/log/message.log,要求把最新时间的日志打印出来。
1
2
3
4
5
6
7
8
9
10
|
Time,Entity,Severity,Node,Desc 00:00:01 04 /25/2016 ,Node,Info,0,IMG Control Link is Up
00:00:01 04 /25/2016 ,Node,Info,0,HostAlarm(Software License Verified)
00:00:01 04 /25/2016 ,Node,Info,0,HostAlarm(Software Versions Matched)
11:16:45 04 /25/2016 ,Node,Info,0,IMG Control Link is Up
11:16:45 04 /25/2016 ,Node,Info,0,HostAlarm(Software License Verified)
11:16:45 04 /25/2016 ,Node,Info,0,HostAlarm(Software Versions Matched)
12:11:46 04 /25/2016 ,Node,Info,0,IMG Control Link is Up
12:11:46 04 /25/2016 ,Node,Info,0,HostAlarm(Software License Verified)
12:11:46 04 /25/2016 ,Node,Info,0,HostAlarm(Software Versions Matched)
|
比如,这里最新时间的日志应该是:
1
2
3
|
12:11:46 04 /25/2016 ,Node,Info,0,IMG Control Link is Up
12:11:46 04 /25/2016 ,Node,Info,0,HostAlarm(Software License Verified)
12:11:46 04 /25/2016 ,Node,Info,0,HostAlarm(Software Versions Matched)
|
将这一段打印出来,命令精简越好。
1
2
3
4
5
|
grep "`grep [^0-9] /var/log/message.log |cut -d , -f 1|uniq|tail -1`" /var/log/message .log
grep "`grep [^0-9] /var/log/message.log |awk -F ',' '{print $1}'|uniq |tail -1`" /var/log/message .log
grep "`tail -1 /var/log/message.log |awk -F ',' '{print $1}'`" /var/log/message .log
|
我感觉写的好臃肿,但是目前是实现了。在改进吧。
本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1767512