GNU/Linux >> Tutoriales Linux >  >> Linux

wc -l NO cuenta lo último del archivo si no tiene un carácter de final de línea

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

Linux
  1. Solucionar el error El repositorio no tiene un archivo de versión en Ubuntu - ¿Guía paso a paso?

  2. ¿Por qué la expresión regular funciona en X pero no en Y?

  3. ¿Leer un archivo orientado a líneas que puede no terminar con una nueva línea?

  4. ¿Qué significa Ampersand al final de una línea de script de Shell?

  5. ¿Por qué el archivo de traducción de Bash no contiene todos los textos de error?

Cómo solucionar el error "El repositorio no tiene un archivo de versión" en Ubuntu

El comando sed de Linux no cambia el archivo de destino

Linux:compruebe si hay una línea vacía al final de un archivo

sed:¿cómo reemplazar la línea si se encuentra o agregar al final del archivo si no se encuentra?

¿Cómo imprimir la última línea de un archivo comprimido gz en la línea de comando?

¿Qué significa un + al final de los permisos de ls -l?