Atom

思考、故事和创意

几点到岗

下午临近下班,我打开钉钉想看看早上几点打的卡,够没够 9 小时,准备打卡走人。进到打卡页面,不由苦笑,大大的圆圈里写着“上班打卡” —— 我早上没打卡。我仍然想知道早上我什么时间到的,最终想到了一个路子。

就是下面这行 shell

LC_TIME=en_US.UTF-8 && grep -E "$(date +'%b %d').*unlocked login keyring" /var/log/auth.log | head -n 1 | cut -d ' ' -f1,2,3

过程就是在 /var/log/auth.log 这个文件里查找当天由桌面登录的记录,过滤出来之后取第一条,再从里面把时间拿出来。

$(date +'%b %d') 获取到 Aug 17 这种格式的日期,代码最开始的 LC_TIME=en_US.UTF-8 是为了避免获取到 8月 17 这样本地化了的日期格式。总之是为了与 /var/log/auth.log 里日志时间格式一致,否则也就过滤不到想要的内容了。

unlocked login keyring 是有桌面登录系统时记下的一条日志里包含的内容。

管道最后的 -f1,2,3 是把第一、第二、第三列输出,也就是完整的时间,例如 Aug 17 19:20:40

最后我毅然地在下班时,按下了“上班打卡”的大圆圈按钮。让这个制度去死吧!