Perl решение
Perl может сделать это. В общем случае подсчет строк работает так:
$ perl -ne 'END{print $.}' input.txt
Если мы хотим исключить все пустые строки, мы сделаем что-то вроде этого:
$ perl -ne '$c+=1 if not /^$|^\s+$/;END{print $c}' input.txt
Допустим, у нас есть входной файл, как это
$ cat -n input.txt
1 Cat; Dog; Squirrel
2 ORGANISM Animalus terrus
3
4 Sequence: ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
5
Всего 5 строк, 2 пустых строки. Команда, которую мы имеем, выведет:
$ perl -ne '$c+=1 if not /^$|^\s+$/;END{print $c}' input.txt
3
Многофайловое улучшение
Это хорошо работает для одного файла. Если мы хотим, чтобы он работал с несколькими файлами, мы можем сделать что-то вроде этого:
$ perl -ne '$c+=1 if not /^$|^\s+$/;printf("%d %s\n",$c,$ARGV) and $c=0 if eof' input.txt /etc/passwd
3 input.txt
52 /etc/passwd