¿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.\ro\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
greppara un código más fácil comogrep -vc '^$' file.txtPor 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
sedopción es correcta, pero lagrepotra 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
.bashrcy reinicie su sesión de shell o abra una nueva terminal:Ejemplo:
fuente
Con awk :
Explicación:
El
NFindica 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 blancoNFes mayor que0y 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
copción a engreplugar 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