微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-列出所有用户以及他们上次阅读邮件的时间,通过管道传输到多个输出

我有一个系统需要进行一些清理,因此我想获取所有用户帐户以及他们访问邮件的最后日期.这是一个Debian系统.

到目前为止,我明白了这一点:

cut -d: -f1 /etc/passwd | xargs -n1 finger | grep "Mail last read"

但我不知道如何在Mail前面写该用户名,最后一次阅读是2012年8月12日星期日(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.

解决方法:

使用-B选项:

... | grep -B3 "Mail last read" | awk '/Login:/ {name=$2} /Mail last read/ {print name, $0}'

假设包含“ Login:Name:”的行出现在finger输出中的邮件状态之前三行. awk命令显示grep输出的第一行的第二行以及包含邮件状态的行.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐