등록된 사용자 수 표시

등록된 사용자 수 표시

홈 디렉토리가 /home에 있고 Bash Shell을 명령 해석기로 사용하는 시스템에 등록된 사용자 수를 표시하는 방법은 무엇입니까?

답변1

사용 getentawk:

getent passwd | awk -F: '$6 ~ "^/home/" && $7 ~ "bash$"{print $1}'

그러면 bash 경로와 쉘이 bash로 설정된 홈 디렉토리의 모든 사용자를 찾고 /home/사용자 이름 목록을 인쇄합니다.

사용자 수만 반환하려면 awk프로그램을 다음과 같이 수정할 수 있습니다.

getent passwd | awk -F: '$6 ~ "^/home/" && $7 ~ "bash$"{c+=1}END{print c}'

답변2

다음 줄(즉, 다음으로 시작하는 필드)이 있는 파일과 grep더 많은 비문자, 끝 앞에 문자 하나만 있을 수 있습니다./etc/password:/home/home::/bin/bash

$ grep ':/home/[^:]*:/bin/bash' /etc/passwd
terdon:x:1000:1000::/home/terdon:/bin/bash
bib:x:1001:1001::/home/bib:/bin/bash

따라서 숫자만 표시하면 됩니다.

$ grep -c ':/home/[^:]*:/bin/bash' /etc/passwd
2

관련 정보