Es mejor que todas las líneas terminen con EOL \n
en archivos Unix. Puedes hacer:
{ cat file; echo ''; } | wc -l
O este awk:
awk 'END{print NR}' file
grep -c
devuelve el número de líneas coincidentes. Simplemente use una cadena vacía ""
como su expresión coincidente:
$ echo -n $'a\nb\nc' > 2or3.txt
$ cat 2or3.txt | wc -l
2
$ grep -c "" 2or3.txt
3