我有一个系统,我想对其进行一些清理,所以我想获取所有用户帐户以及他们访问邮件的最后日期。它是一个Debian系统。
到目前为止我已经做到了这一点:
cut -d: -f1 /etc/passwd | xargs -n1 finger | grep "Mail last read"
但我不知道如何在前面写那个用户名
邮件最后阅读时间:2012 年 8 月 12 日星期日 03:06(欧洲中部夏令时间)
答案1
你可以尝试这样的事情:
for USER in $(cut -d: -f1 /etc/passwd); do MAILINFO=$(finger $USER | grep "Mail last read"); echo "$USER - $MAILINFO"; done
我认为你应该明白要点......你需要稍微操纵一下 grep“邮件上次阅读”的返回结果。
答案2
cut -d: -f1 /etc/passwd |
xargs finger |
awk '/^Login:/ { user = $2 }
/^Mail last read/ {print user, $0}'
或者也可以
ls -ltu /var/spool/mail
(或/var/mail
或邮件位于您系统上的任何位置)。