awk -F: ' NF!=7 {print}' /etc/passwd
deve fazer isso. Se o número de campos não for 7, imprima-o.
Estou procurando uma forma fácil e portátil de validar o número de campos em / etc / passwd, / etc / shadow, / etc / group e /etc/master.passwd. Isso rodaria no FreeBSD, Linux e outros Un * xes. O pwck faz isso e muito mais, mas só roda em sistemas baseados em Linux.
Como posso contar o número de campos separados por dois pontos em / 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
Seguindo o exemplo em " grep: conte o número total de ocorrências ", Eu vim com o seguinte hack rápido:
cat /etc/passwd | while read LINE; do echo $LINE | grep -o ':' |wc -l; done
Mas estou procurando uma maneira melhor.
Tags users text-processing