Answers:
如何在Linux中提取特定日期范围的登录历史记录?
列出所有从8月25日到28日登录的用户的示例:
last | while read line
do
date=`date -d "$(echo $line | awk '{ print $5" "$6" "$7 }')" +%s`
[[ $date -ge `date -d "Aug 25 00:00" +%s` && $date -le `date -d "Aug 28 00:00" +%s` ]] && echo $line
done
awk '{ print $5" "$6" "$7 }'
从last
输出中提取相应列的日期时间+%s
将日期时间转换为大纪元时间-ge
代表大于或等于-le
代表小于或等于您也可以使用来为特定用户执行此操作last <username>
。
last
输出可读性强,grep会更干净吗?
grep
从“ 8月15日09:00”到“ 8月25日21:00”吗?