마지막 명령을 필터링하기 위해 쉘 스크립트를 작성하는 방법은 무엇입니까?

마지막 명령을 필터링하기 위해 쉘 스크립트를 작성하는 방법은 무엇입니까?

로그인 통계에 대한 스크립트를 작성하고 싶습니다. 사용자가 로그인한 횟수를 계산한 다음 최종 사용자가 지정한 오름차순 또는 내림차순으로 표시하고 싶습니다. 문제는 사용자가 로그인한 횟수를 계산할 수 있는 스크립트를 작성하는 방법을 모른다는 것입니다. 마지막 명령을 사용해야 합니다.

답변1

#!/bin/bash
userlist=$(cat /etc/passwd | cut -d : -f 1)
for user in $userlist; do
        timesloggedin=$(last $user | head -n -2 | wc -l);
        echo $timesloggedin $user;
done | sort -r

그러면 데몬 계정 등을 포함하여 시스템의 모든 사용자 이름을 가져옵니다. 필요하지 않은 경우 userlist사용자 이름 목록을 제공해 주세요. 출력을 오름차순으로 정렬하려면 -r정렬하려는 플래그를 제거하십시오.

관련 정보