Liste todos os usuários e a última vez que eles leram o e-mail, canalizando para várias saídas

2

Eu tenho um sistema que gostaria de fazer um pouco de limpeza, por isso gostaria de obter todas as contas de usuário e última data que eles acessaram e-mail. É um sistema Debian.

Até agora eu cheguei a isto:

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

Mas eu não sei escrever esse nome de usuário na frente de

Mail last read Sun Aug 12 03:06 2012 (CEST)

    
por user899119 17.08.2012 / 15:22

2 respostas

2

Você pode tentar algo como:

for USER in $(cut -d: -f1 /etc/passwd); do MAILINFO=$(finger $USER | grep "Mail last read"); echo "$USER - $MAILINFO"; done

Eu acho que você deve pegar a essência ... você precisa manipular o retorno do grep "Mail last read" um pouco.

    
por 17.08.2012 / 15:35
0
cut -d: -f1 /etc/passwd |
xargs finger |
awk  '/^Login:/ { user = $2 }
      /^Mail last read/ {print user, $0}'

Ou alternativamente

ls -ltu /var/spool/mail

(ou /var/mail ou onde quer que o e-mail esteja localizado no seu sistema).

    
por 18.08.2012 / 01:44