我有一个系统,我想做一点清理,所以我想得到所有用户帐户和他们访问邮件的最后日期。这是一个Debian系统。
到目前为止,我得到了这个:
cut -d: -f1 /etc/passwd | xargs -n1 finger | grep "Mail last read"
但是我不知道如何在Mail上写这个用户名。最后阅读时间:2012年8月12日星期日03:06(CEST)
谢谢 编辑:这是示例手指输出:
/bla# finger xxxxx
Login: xxxxx Name: xxxxx xxxxx
Directory: /home/xxxxx Shell: /bin/true
Never logged in.
Mail last read Sun Aug 12 03:17 2012 (CEST)
No Plan.
答案 0 :(得分:3)
使用-B选项:
... | grep -B3 "Mail last read" | awk '/Login:/ {name=$2} /Mail last read/ {print name, $0}'
假设包含“Login:Name:”的行在finger输出中出现3行之前的邮件状态。 awk
命令打印grep输出第一行的第二个字段,以及包含邮件状态的行。