모든 사용자와 메시지를 마지막으로 읽은 시간을 나열하고 여러 출력으로 파이프됩니다.

모든 사용자와 메시지를 마지막으로 읽은 시간을 나열하고 여러 출력으로 파이프됩니다.

약간 정리하고 싶은 시스템이 있으므로 모든 사용자 계정과 사용자가 메일에 마지막으로 액세스한 날짜를 가져오고 싶습니다. 데비안 시스템입니다.

지금까지 나는 이것을 했습니다:

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 "Mail Last Read"에서 반환된 결과를 약간 조작해야 합니다.

답변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메일이 시스템에 있는 위치)

관련 정보