last -F在suse linux下有,redhat下没有你举例的是其中一种格式,另一种格式是超过1天的,例如:root pts/1 192.168.0.1 Nov 22 11:57 - 23:12 (1+11:14)所以要根据Nov ...
显示全部last -F在suse linux下有,redhat下没有
你举例的是其中一种格式,另一种格式是超过1天的,例如:
root pts/1 192.168.0.1 Nov 22 11:57 - 23:12 (1+11:14)
所以要根据Nov 22 11:57和(27+11:14)来得到23:12带日期的时间 Nov 23 23:12,再通过替换或重新组合来得到如下格式:
root pts/1 192.168.0.1 Nov 22 11:57 - Nov 23 23:12 (1+11:14)
可以使用awk获取最后一个字段的内容(1+11:14),根据获取到的字符串的长度来判断是否超过了一天
然后再分别截取天数、小时数、分钟数。
安装coreutils-5.2.1-2.aix5.1.ppc.rpm包,然后得到/usr/linux/bin/date命令,该命令可以实现一般linux下对日期的灵活计算,比如:
# date -d"2 day 2 min"
得到当前日期2天2分钟后的日期时间。
# date -d"Nov 22 11:57 1 day 11 hour 14 min"
Sun Nov 23 23:11:00 CST 2014
# date -d"Nov 22 11:57 1 day 11 hour 14 min" | cut -c5-16
Nov 23 23:11
具体的shell你可以自己写一下,有问题可以一起讨论。
收起