그룹의 사용자 수 계산

그룹의 사용자 수 계산

/etc/group 파일이 있습니다. 형식은 "그룹 이름: 비밀번호: 식별자: 공백으로 구분된 사용자 목록"입니다. 사용자 수가 가장 많은 그룹의 이름을 인쇄하는 방법은 무엇입니까? 감사해요.

답변1

getent group | awk -F '[,:]' '{ print $1, NF - 3 }' | sort -k2,2n

그러면 그룹 이름 목록과 그룹 구성원 수가 그룹 구성원 수에 따라 정렬되어 출력됩니다. 질문의 텍스트가 잘못되었고 패널리스트 목록이 쉼표로 구분되어 있다고 가정합니다.

이 결과를 분석하여 그룹 구성원이 가장 많은 그룹을 선택하는 것은 쉬울 것입니다.

getent group파일과 동일한 형식으로 현재 그룹 목록을 가져옵니다 /etc/group. 이 명령은 사용되는 경우 NIS/YP 또는 LDAP와 같은 디렉터리 서비스도 쿼리합니다.

awk코드는 줄을 쉼표나 콜론을 기준으로 필드로 분할하고 첫 번째 필드(그룹 이름)를 인쇄한 다음 총 필드 수에서 3을 뺀 값(그룹 이름, 비밀번호 및 GID 필드는 제외하고 3을 뺀 값)을 인쇄합니다.

sort두 번째 열인 그룹 구성원 수만 기준으로 숫자 정렬을 수행 하게 됩니다 .

관련 정보