Eu escrevi um código para fazer isso por mim:
LINE='lastlog -u $USER | head -n2 | tail -n1';
WORDS='echo "$LINE" | wc -w';
if [ "x$WORDS" = "x9" ]; then
echo "$LINE" | awk '{ printf "Last login: %s %s %s %s %s from %s\n", $4, $5, $6, $7, $9, $3 }';
else
echo "Unsupported case.";
fi;
Ele não funciona para logins não remotos, mas eu estou executando o código em um servidor sem cabeçalho, então 99,9% dos logins serão logins remotos; o outro 0,1% será quando eu "anexar uma cabeça" para corrigir problemas ssh
ou similar.