6 formas de contar el número de líneas en un archivo de Linux

Puntos clave

  • Puede utilizar el comando wc con la opción "-l" para encontrar el recuento de líneas de un archivo (wc -l nombre de archivo). También se imprimirá el nombre del archivo.
  • Una combinación del comando sed con la opción "-n" también puede proporcionarle un recuento de líneas (sed -n '=' nombre de archivo). Este comando imprimirá los números de línea sin el contenido del archivo.
  • Ejecute el comando awk con la variable "NR" incrustada para obtener el recuento de líneas de un archivo (nombre de archivo awk 'END {print NR}').

¿Quiere contar la cantidad de líneas en un archivo de Linux? Le proporcionaremos varias formas de hacer esto. Contar el número de líneas proporciona información sobre qué tan pequeño o grande es un archivo determinado.

→ Índice de contenidos
  • ¿Por qué contar líneas en un archivo?
  • Cómo contar líneas en un archivo en Linux
  • Conozca su sistema de archivos Linux por dentro y por fuera
  • ¿Por qué contar líneas en un archivo?

    Como todos los archivos de computadora, los archivos de Linux vienen en diferentes tamaños. Algunos archivos son grandes, otros son pequeños. Los usuarios de Linux a menudo necesitan controlar el tamaño de los archivos para administrar el espacio en disco del sistema y evitar quedarse sin espacio de almacenamiento. Una forma de hacerlo es contar el número de líneas de un archivo, aunque sea de forma aproximada. Así como el grosor de un libro generalmente indica su longitud, el número de líneas de un archivo puede, en algunas situaciones, dar una idea relativa de su tamaño.

    Contar líneas en un archivo es útil por varias razones. Puede comprobar el formato o la estructura del archivo. También puede medir el tamaño y la complejidad de un archivo de texto, como un archivo de código fuente, un archivo de configuración o un archivo de registro.

    El recuento de líneas puede ayudarle a filtrar y analizar la salida de otros comandos. Por ejemplo, puede analizar el número de líneas en un archivo de registro del sistema. Esto le ayudará a comprobar la cantidad aproximada de errores presentes en el archivo de registro del sistema.

    El recuento de filas también proporciona una estimación del total de elementos de un directorio. Al contar las líneas de un archivo a lo largo del tiempo, puede realizar un seguimiento de los cambios que realiza en el archivo, como agregar o eliminar líneas. Esto puede resultar útil para depurar software o realizar un seguimiento de cambios en un documento.

    Cómo contar líneas en un archivo en Linux

    Linux proporciona una variedad de comandos y herramientas que facilitan determinar cuántas líneas hay en un archivo. Algunos de estos comandos son wc, sed, grep y awk. Un script Bash también puede ayudar a calcular el número de líneas en un archivo. Exploraremos cada uno de estos métodos con un ejemplo.

    1. Cuente palabras, líneas y caracteres en un archivo usando wc

    ¿Quiere una forma sencilla de contar líneas en un archivo? Simplemente use el comando wc. Este comando devuelve el número de palabras, líneas y caracteres de un archivo.

    Consideremos un archivo de ejemplo, ejemplo.txt. Este archivo contiene una lista de algunos comandos de Linux para principiantes:

    Para contar las líneas del archivo especificado llamado ejemplo.txt, agregue el archivo -l bandera con el comando wc seguido del nombre del archivo:

    wc -l example.txt

    Terminal de Linux que muestra la salida del recuento total de líneas con la ayuda del comando wc con el indicador -l

    El resultado anterior muestra solo el recuento de filas. Para obtener información detallada sobre el archivo, use el comando wc sin ninguna opción. El comando wc, sin banderas, imprimirá el recuento de palabras, líneas y caracteres de un archivo en un solo comando:

    wc example.txt

    Terminal de Linux que muestra la salida del comando wc sin ninguna opción seguida del nombre del archivo

    Ahora supongamos que tenemos tres archivos llamados ejemplo.txt, nuevo.txt y nuevo1.txt. Para contar el número de líneas de varios archivos, simplemente use el comando wc con el archivo -l opción seguida de los nombres de los archivos.

    wc -l example.txt new.txt new1.txt

    Terminal de Linux que muestra el comando wc con múltiples archivos de texto como argumentos.

    El comando wc también puede mostrar el recuento de líneas de todos los archivos dentro de un directorio. Para hacer esto, use el comando wc con el archivo -l opción seguida del operador asterisco.

    wc -l *

    La terminal de Linux muestra el recuento de líneas de todos los archivos en un directorio con la ayuda del comando wc.

    Como en todos los casos anteriores, el resultado muestra el nombre del archivo junto con el recuento de líneas. Para mostrar el recuento de líneas sin el nombre del archivo, ejecute:

    wc -l < example.txt

    Comando Wc en terminal Linux solo con visualización del recuento de líneas.

    Aquí, el comando wc utiliza la redirección de entrada. Esto proporcionará el contenido del archivo de muestra al comando wc. Luego cuente directamente las líneas sin mostrar el nombre del archivo.

    Otra forma de contar las líneas de un archivo es conectar la salida del comando cat con el archivo baño -l dominio.

    cat example.txt | wc -l

    Terminal de Linux que muestra el comando cat pasado al comando wc y la salida muestra un recuento de diez líneas.

    2. Cuente y muestre los números de línea de un archivo usando sed

    El comando sed, o editor de secuencias, es una herramienta de línea de comandos esencial para manipular texto en Linux. Realiza varias operaciones en un archivo, como insertar, eliminar, reemplazar o agregar texto. El comando sed toma información de un archivo o entrada estándar.

    El comando sed también puede contar el total de líneas de un archivo específico. Es posible que se necesiten diferentes argumentos para imprimir números de línea.

    Ejecute el comando sed con el archivo -NORTE y un signo igual para contar secuencialmente y mostrar números de línea en líneas separadas.

    sed -n '=' example.txt

    Terminal de Linux que describe la salida del comando sed.

    A veces, obtener el recuento total de líneas es más eficaz que obtener números de línea individuales para cada línea del archivo. El comando sed con opciones -NORTE Y $= Puede contar y mostrar el número total de líneas en el archivo. EL $= indica la última línea del archivo. Garantiza que solo se imprima el número de línea en la salida estándar.

    Para obtener una cantidad total de líneas en el archivo, use:

    sed -n '$=' example.txt

    Terminal de Linux que muestra el comando grep de Linux en busca de un patrón específico.

    3. Usar grep para contar el número de líneas en un archivo

    El comando grep se usa específicamente para buscar un patrón dentro de un archivo. No sólo eso, sino que también puede darnos el recuento total de líneas que coinciden o no con el patrón definido. El patrón definido es una expresión regular que especifica qué buscar.

    Si no especifica el archivo, grep lee desde la entrada estándar.

    Añade el -C bandera con el comando grep para determinar el recuento de líneas que coinciden con un patrón específico. Por ejemplo, para contar las líneas de un archivo que contienen la palabra "Comando", ejecute:

    grep -c Command example.txt

    La terminal Linux muestra el resultado del comando grep cuando busca la cantidad de líneas que no contienen un patrón definido.

    También puede filtrar y contar líneas fácilmente que no contienen una palabra o patrón en particular.

    Para ello utilice el -v marcar con grep:

    grep -c -v awk example.txt

    La terminal Linux muestra el resultado del comando grep cuando busca la cantidad de líneas que no contienen un patrón definido.

    Hay otro patrón de expresión regular ("".*") con un punto y un asterisco. Coincide con cualquier línea con cero o más apariciones de cualquier carácter. A diferencia de los dos comandos anteriores, no busca una palabra específica. Simplemente cuenta y devuelve el número de líneas en example.txt que contienen uno o más caracteres.

    grep -c ".*" example.txt

    EL -C flag garantiza que solo se muestre el recuento de filas, no el contenido real de la fila que coincide con el patrón.

    Salida del comando grep con la opción -c.

    Para agregar el nombre del archivo en el resultado anterior, simplemente incluya el archivo -H bandera:

    grep -Hc ".*" example.txt

    Salida del comando grep con la opción -hc que muestra el nombre del archivo.

    4. Imprima el recuento total de líneas en un archivo usando awk

    El comando awk se utiliza para el procesamiento de textos y como herramienta de generación de informes y extracción de datos. Es particularmente bueno en la coincidencia de patrones y en el procesamiento de campos y registros.

    Puede utilizar el comando awk para contar las líneas de un archivo. Utilice el lenguaje de programación AWK para imprimir el número total de registros (filas) en el archivo.

    awk 'END {print NR}' example.txt

    Terminal Linux que muestra el script awk para contar líneas.

    El script awk proporcionado FIN {imprimir NR} se ejecuta después de procesar todas las líneas del archivo example.txt. El script le indica a awk que imprima el valor de NR, que representa el número total de registros (filas) procesados.

    5. Enumere y cuente las líneas de un archivo con el comando nl.

    El comando nl agrega números de línea al contenido del archivo especificado. Es útil para ver o imprimir archivos con números de línea. Puede usar el comando nl con nombre de archivo para contar las líneas en un archivo específico.

    nl example.txt

    Terminal de Linux que muestra la salida del comando nl.

    Este comando mostrará tanto los números de línea como el contenido de las líneas en el archivo example.txt.

    Sin embargo, no es una forma eficaz de obtener el recuento de líneas de archivos, especialmente para archivos grandes. Implica procesamiento y representación adicionales de la salida que no son necesarios para la tarea específica de contar líneas. Imagine un archivo con miles de líneas y tiene que desplazarse hasta el final para obtener el recuento total de líneas.

    Si desea conocer el recuento total de filas sin ninguna otra información, conecte la salida del comando nl con tail y awk.

    nl example.txt | tail -1 | awk '{print $1}'

    Terminal de Linux que muestra el comando nl pasado con el comando tail y awk.

    El comando nl agrega un número de línea al comienzo de cada línea. Luego, la salida del comando nl se redirige al comando tail, que muestra la última línea de la entrada. EL -1 La opción le dice al comando tail que muestre solo una línea. Hasta ahora, tienes el resultado "Comando 10 uname".

    A continuación, esta salida se proporciona como entrada para el comando awk, que imprime un campo específico a partir de la entrada. EL {imprimir $1} El argumento le dice al comando awk que imprima el primer campo, que es el número de línea. Por ejemplo, si la entrada es "Comando 10 uname", el comando awk imprimirá el primer campo, que en este caso es la línea número 10.

    6. Usar Bash Script para contar el número de líneas en un archivo

    Las secuencias de comandos Bash, una herramienta útil en sistemas Linux, se utilizan comúnmente para automatizar tareas. También puedes usarlo para contar líneas en un archivo. Puede escribir un script Bash personalizado, que utiliza el comando wc para imprimir el recuento de líneas de un archivo:

     #!/bin/bash
    filename=$1
    linecount=$(wc -l < "$filename")
    echo "The file $filename has $linecount lines."

    Este script Bash usa el comando wc con el archivo -l bandera. El comando wc obtiene el recuento de líneas y lo almacena en la variable linecount. Al final del script, se envía un mensaje al terminal, que muestra el nombre del archivo y el número de líneas correspondiente.

    Para usar el script anterior, simplemente guárdelo como un archivo con una extensión ".sh" (count_lines.sh) y hágalo ejecutable usando chmod:

    chmod +x count_lines.sh

    Terminal de Linux que muestra el comando chmod con el archivo de ejemplo como entrada.

    Ahora ejecute el script usando el archivo ./ notación seguida del nombre del script:

    ./count_lines.sh example.txt

    Obtendrá el recuento total de líneas del archivo example.txt en la salida estándar.

    Terminal de Linux que muestra la ejecución del script bash y su salida.

    Conozca su sistema de archivos Linux por dentro y por fuera

    En Linux, es importante conocer los archivos de su sistema. Al igual que contar líneas, contar archivos de Linux en un directorio también le ayuda a administrar su sistema de manera más eficiente. Esto le ayudará a saber qué archivos ocupan más espacio, qué eliminar y qué conservar.

    También es importante conocer la estructura de los archivos de Linux. Considere el pilar principal de los archivos de Linux: los inodos. Si los eliminas de tu sistema, tendrás un día difícil. Estos son muy limitados en número y almacenan datos cruciales en su sistema.

    Conocerlos no sólo te ayudará a gestionar y ejecutar tareas, sino que también facilitará las tareas de mantenimiento del sistema.

    Subir Change privacy settings