¿Cómo cuento cuántas líneas hay en el archivo de texto? p.ej :
command file.txt
Tenga en cuenta que solo quiero contar las líneas no vacías (líneas sin contar espacios en blanco y pestañas).
command-line
usuario93097373
fuente
fuente
\r
) u omitirlos. El actual responde todas las líneas de recuento con espacios y solo omite las vacías.\r
o\n
), las líneas con solo pestañas y las líneas con solo espacios) y quiero omitirlas como creo y respondí de acuerdo con lo que he entendido.Respuestas:
Las respuestas anteriores son correctas pero ligeramente diferentes, puede usar el
grep
para un código más fácil comogrep -vc '^$' file.txt
Por ejemplo (A): archivo.txt
Por ejemplo (B): archivo.txt
¡Observe que el resultado es 4! cuando queremos esperar solo dos. pero esto cuenta las pestañas entre el contenido y el comentario también.
Observe que los recuentos de 0 y los recuentos de 1 son diferentes del grep al sed, ya que recuerdo para obtener más detalles, busque grep o sed.
fuente
sed
opción es correcta, pero lagrep
otra noPrueba
sed
:Si tiene líneas que solo contienen espacios o pestañas y también desea ignorarlas desde el conteo:
fuente
^\s*$
tener en cuenta también las líneas que solo contienen tabulaciones o espacios.Utilizando
grep
:fuente
Puedes usar:
Si necesita un comando para eso, simplemente pegue las siguientes líneas en su
.bashrc
y reinicie su sesión de shell o abra una nueva terminal:Ejemplo:
fuente
Con awk :
Explicación:
El
NF
indica el número total de campos, y por lo tanto esta imprime sólo las líneas no están en blanco , ya que en líneas no están en blancoNF
es mayor que0
y se evalúa como TRUE. Por lo tanto, incremente el indicador de conteo cuando awk encuentre líneas no en blanco e imprima el último valor del indicador de conteo al finalEND{print count}
.fuente
Editar : solo puede agregar la
c
opción a engrep
lugar de canalizar todo awc
, vea la respuesta de @ muru para una versión más compactaCon
grep
:fuente
Solución Perl
Perl puede hacer eso. En general, las líneas de conteo funcionan así:
Si queremos excluir todas las líneas vacías, haremos algo como esto:
Digamos que tenemos un archivo de entrada como este
Hay 5 líneas en total, 2 líneas vacías. El comando que tenemos generaría:
Mejora de múltiples archivos
Esto funciona bien para un solo archivo. Si queremos que funcione en varios archivos, podemos hacer algo como esto:
fuente