나는 /etc/passwd, /etc/shadow, /etc/group 및 /etc/master.passwd의 필드 수를 확인하는 간단하고 이식 가능한 방법을 찾고 있습니다. FreeBSD, Linux 및 기타 Un*xes에서 실행됩니다.퍽이 작업과 그 이상을 수행할 수 있지만 Linux 기반 시스템에서만 실행됩니다.
/etc/passwd에서 콜론으로 구분된 필드 수를 어떻게 계산합니까?
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
에 따르면"grep: 총 발생 횟수를 계산합니다.”, 나는 다음과 같은 빠른 트릭을 생각해 냈습니다.
cat /etc/passwd | while read LINE; do echo $LINE | grep -o ':' |wc -l; done
하지만 더 나은 방법을 찾고 있어요.
답변1
awk -F: ' NF!=7 {print}' /etc/passwd
그것은 이루어져야합니다. 필드 개수가 7개가 아닌 경우 인쇄합니다.