Seu sistema deve ter o GNU grep, que possui uma opção -P
para usar expressões Perl e você pode usá-lo, combinado com -c
(portanto, não é necessário usar wc -l
):
grep -Pvc '\S' somefile
O '\S'
entrega o padrão \S
ao grep e corresponde a toda a linha contendo qualquer coisa que não seja espaço, -v
seleciona todas as outras linhas (aquelas apenas com espaço) e -c
as conta.
Na página man do grep:
-P, --perl-regexp
Interpret PATTERN as a Perl regular expression (PCRE, see
below). This is highly experimental and grep -P may warn of
unimplemented features.
-v, --invert-match
Invert the sense of matching, to select non-matching lines. (-v
is specified by POSIX.)
-c, --count
Suppress normal output; instead print a count of matching lines
for each input file. With the -v, --invert-match option (see
below), count non-matching lines. (-c is specified by POSIX.)