Formas sencillas de leer archivos grandes en Linux
¿Necesita analizar un archivo de registro, un archivo de texto o un conjunto de datos de gran tamaño? No está solo. Manejar archivos grandes en Linux puede resultar abrumador cuando intenta ver o administrar contenido mientras controla los recursos del sistema. Afortunadamente, existen varios métodos para leer archivos grandes en Linux, incluidas utilidades como el less
comando Vim y técnicas para dividir el documento en secciones más pequeñas.
Este artículo lo guiará a través de diferentes técnicas para leer archivos grandes o extraer información específica en Linux utilizando una variedad de herramientas.
Cómo usar el comando Less
¿Buscas una herramienta liviana para visualizar el contenido de archivos de texto grandes o realizar búsquedas rápidas? El less
comando es tu solución ideal.
Uno de mis aspectos favoritos de esta utilidad es que, a diferencia de los editores de texto estándar, permite ver los archivos página por página sin tener que cargar el archivo completo en la memoria. Esto lo hace notablemente más rápido, especialmente para archivos grandes, y simplifica el proceso de revisión de documentos o registros extensos.
Para usarlo, simplemente escriba less
seguido del nombre del archivo:
Este comando abrirá la less
interfaz, permitiéndole desplazarse por el documento línea por línea usando las teclas de flecha o buscar términos específicos presionando /seguido de su término de búsqueda.
También puede less
utilizar un operador de canalización para leer los resultados de otros comandos. Por ejemplo, para ver y mostrar el resultado del ls
comando, debe utilizar:
El less
comando también ofrece múltiples opciones para personalizar su funcionalidad. Puedes combinar estas opciones para adaptar el less
funcionamiento a tus necesidades.
Por ejemplo, puede utilizar la -p
opción con less
para buscar un término específico:
Este comando abre la salida y salta directamente a la primera aparición de la palabra sample .
También puede mostrar números de línea junto al contenido del archivo utilizando la -N
opción:
Cómo dividir archivos con el comando Dividir
A veces, la mejor manera de manejar un archivo grande es dividirlo en partes más pequeñas y manejables, en particular cuando se desea leer o procesar el archivo en secciones. Por ejemplo, yo suelo dividir los archivos cuando su tamaño supera 1 GB o contiene más de 100 millones de líneas.
Puedes dividir los archivos por tamaño o por número de líneas. En el caso de los archivos de texto, generalmente es mejor dividirlos por líneas para evitar cortar palabras o líneas por la mitad.
Por ejemplo, para dividir un archivo en función de un número específico de líneas, ejecute este comando:
En este caso, el archivo “samplefile.txt” se divide en varias partes, cada una de las cuales consta de 10.000 líneas. Los archivos resultantes se denominarán “part_aa”, “part_ab”, etc. Ahora puede abrir y examinar segmentos más pequeños del archivo sin preocuparse por el uso excesivo de memoria o el rendimiento lento del sistema.
Si desea dividir archivos grandes según el tamaño, como 100 MB, puede ejecutar este comando:
Usando Midnight Commander
Midnight Commander (MC) es un administrador de archivos basado en texto y de doble panel que ofrece una interfaz visual fácil de usar para navegar por archivos y directorios.
MC le permite ver archivos directamente en su interfaz, lo que le permite desplazarse rápidamente por registros o conjuntos de datos de gran tamaño sin cargar todo el documento en la memoria. Aprecio la fluidez y eficiencia con la que MC le permite recorrer archivos de gran tamaño.
Para instalar MC, simplemente ejecute:
Ejecútelo mc
en la terminal. Una vez dentro, navegue hasta el archivo grande que desea leer y explore su contenido.
Usando Klogg
Klogg es un visualizador de registros rápido y de código abierto basado en interfaz gráfica de usuario que puede procesar archivos de gran tamaño de manera eficiente. A diferencia de los editores estándar que cargan el archivo completo en la memoria, Klogg solo lee partes del archivo según sea necesario, lo que minimiza el uso de memoria.
Klogg también ofrece funciones de filtrado y búsqueda en tiempo real, lo que facilita la búsqueda de contenido específico sin tener que desplazarse mucho tiempo.
Antes de instalar Klogg, es necesario crear el directorio “/etc/apt/keyrings” y agregarle la clave GPG. La clave GPG es esencial para validar el repositorio de paquetes de Klogg.
Para crear el directorio, ejecute:
Agregue la clave GPG con el siguiente comando:
A continuación, agregue el repositorio Klogg a su sistema con el comando curl:
Actualice su lista de paquetes con:
Finalmente, puedes instalar Klogg usando este comando:
Una vez instalado, simplemente abra el archivo a través de la interfaz de Klogg y utilice sus funciones integradas para buscar y navegar a través del contenido del archivo.
Cómo leer archivos grandes con un editor de texto
Si bien muchos editores de texto tienen dificultades con archivos grandes, editores como Vim y Emacs administran archivos más grandes de manera más efectiva que los editores estándar como Nano o Gedit.
Por ejemplo, las funciones de Vim permiten navegar por el archivo y buscar términos rápidamente sin tener que cargar todo el contenido en la memoria de una sola vez. Sin embargo, tenga en cuenta que las búsquedas se limitan a las secciones del archivo que ya se han cargado.
Para abrir un archivo en Vim, ejecute:
Cómo buscar en un archivo con el comando Grep
Si desea encontrar información específica dentro de un archivo grande, utilice el grep
comando. Esta potente herramienta le permite buscar en archivos y mostrar solo las líneas que coinciden con su consulta.
Al enviar las salidas de los comandos a less
, recuerda que es solo temporal: la salida se pierde una vez que sales de less
. Para conservar la salida para verla más tarde, redirígela a un archivo y ábrela con una herramienta de línea de comandos como less.
Por ejemplo, para filtrar cada línea que contenga la palabra “ERROR” de un archivo grande, ejecutaría:
Puede refinar su búsqueda con opciones adicionales, como ignorar la distinción entre mayúsculas y minúsculas ( grep -i
) o buscar solo palabras completas ( grep -w
).
Redireccionar la salida a un archivo
Si desea guardar resultados de búsqueda específicos para revisarlos más tarde, puede redirigir la salida de sus comandos a un nuevo archivo.
Por ejemplo, busque líneas usando el grep
comando y guárdelas en un nuevo archivo:
El >
operador crea un nuevo archivo o sobrescribe uno existente cada vez. Para agregar datos a un archivo ya existente, utilice >>
en lugar de >
.
Uso de los comandos Head y Tail
Al trabajar con archivos grandes en Linux, es posible que solo necesite ver el principio o el final de un archivo. Aquí es donde entran en juego los comandos head
y .tail
Para mostrar las primeras 20 líneas de un archivo, utilice:
Del mismo modo, para mostrar las últimas 20 líneas, ejecute:
En ambos casos, -n 20
especifica que solo desea ver las primeras o las últimas 20 líneas. Puede ajustar este número para mostrar más o menos líneas según sea necesario; ambos comandos muestran 10 líneas de forma predeterminada.
La combinación de tail
y head
puede ayudarle a navegar por una sección específica de un archivo. Para ver las líneas 10 a 14 de un archivo de 100 líneas, calcule la línea de inicio desde el final restando la línea de inicio menos uno del recuento total de líneas (100 – 9 = 91). Ejecute el siguiente comando:
Esto mostrará las líneas 10 a 14. Puedes comparar el resultado con lo que ves con less
.
Para actualizar continuamente archivos, como archivos de registro, puede utilizar tail -f
para monitorear los cambios en tiempo real.
Conclusión
Ya sea que estés analizando registros, trabajando con conjuntos de datos o simplemente leyendo un archivo de texto grande, estas estrategias te ayudarán a simplificar el proceso significativamente. También puedes explorar técnicas adicionales para encontrar archivos grandes en Linux y transferirlos a través de la terminal.
Crédito de la imagen: Unsplash . Todas las modificaciones y capturas de pantalla son de Haroon Javed.
Deja una respuesta