Tutoriales

Cómo dividir un archivo de texto grande en varios archivos *.txt

Como hemos mencionado numerosas veces en el artículo anterior cubierto; ya sea directa o indirectamente, sigue siendo una afirmación válida que la profundidad informática de un sistema operativo Linux no se puede igualar con los avances de otros sistemas operativos.

Su naturaleza de código abierto crea un nivel invisible de transparencia para los usuarios finales. Mientras que otros sistemas operativos brindan el botón de inicio para hornear un pastel, Linux nos permite jugar con los ingredientes del pastel a medida que avanzamos hacia el producto final.

Este artículo buscará explorar los pasos visibles orientados a Linux para dividir un archivo de texto grande en varios archivos de texto más pequeños. Este tutorial se incluye en el segmento de administración de archivos de Linux.

Una de las razones por las que podría necesitar dividir un archivo de texto grande en un archivo más pequeño es para cumplir con los requisitos de memoria establecidos. Es posible que el archivo grande no quepa completamente en un medio extraíble, pero dividirlo facilita la transferencia en bits.

Planteamiento del problema

Crearemos un archivo de texto de muestra llamado archivo_grande.txt para hacer referencia a lo largo de este tutorial.

$ sudo nano large_file.txt
Crear archivo grande en Linux

Vamos a ver varias metodologías útiles basadas en Linux que nos ayudarán a dividir el archivo de texto grande anterior en varios archivos de texto pequeños. Las transferencias de archivos más pequeños a través de una red suelen ser más rápidas, lo que acelera el rendimiento de la red debido a las transferencias paralelas.

LEER  Cómo instalar el último escritorio XFCE en Ubuntu y Fedora

Usando el comando split de Linux

los separar El comando es parte del GNU Coreutils paquete y principalmente divide un archivo de entrada en varios archivos más pequeños.

La sintaxis para el uso de la separar el comando es el siguiente:

$ split [OPTION]... [FILE [PREFIX]]

los separar La utilidad está asociada con varias opciones de comando útiles según su página de manual ($ man split). El tamaño predeterminado del archivo a dividir es de 1000 líneas. El archivo dividido toma un sufijo predeterminado (X) y un prefijo predeterminado (Automóvil club británico).

$ split large_file.txt
Dividir archivo grande en varios archivos
Dividir archivo grande en varios archivos

Solo vemos un archivo dividido porque el archivo de texto original tiene menos de 1000 líneas, es decir 49 líneas, por lo que lógicamente creamos su duplicado.

$ wc -l large_file.txt
Contar líneas de archivo en Linux
Contar líneas de archivo en Linux

para retener el .txt extensión de archivo después de dividir el archivo, usaremos la opción de comando --additional-suffix.

$ split --additional-suffix=.txt large_file.txt
Retener la extensión del archivo mientras se divide el archivo
Retener la extensión del archivo mientras se divide el archivo

División de archivos especificando el número de líneas

Digamos que queremos dividir este archivo de texto grande en otros más pequeños con 12 líneas cada uno, usaremos el -l opción de comando para especificar la división del número de línea que queremos.

$ split -l 12 --additional-suffix=.txt large_file.txt
Dividir archivo por número de línea
Dividir archivo por número de línea

los 49 forrado archivo_grande.txt se ha dividido en 5 archivos más pequeños cada uno con un máximo de 12 líneas.

$ cat xaa.txt | wc -l; cat xab.txt | wc -l; cat xac.txt | wc -l; cat xad.txt | wc -l; cat xae.txt | wc -l
Lista de recuento de líneas en el archivo
Lista de recuento de líneas en el archivo

División de archivos especificando los tamaños de archivo resultantes

Nuestro archivo tiene un tamaño de archivo de 170 bytes

$ ls -l large_file.txt
Mostrar tamaño de archivo en Linux
Mostrar tamaño de archivo en Linux

Para dividirlo en archivos de 30 bytes más pequeños, usaremos el -b opción de comando.

$ split -b 30 --additional-suffix=.txt large_file.txt

El comando ha generado 6 archivos más pequeños con un tamaño de archivo máximo de 30 bytes cada uno.

$ ll -lh
Dividir archivo por tamaños
Dividir archivo por tamaños

División de archivos especificando un prefijo

Supongamos, por ejemplo, que necesitamos los archivos divididos de 30 bytes anteriores para tener el prefijo archivo_grande.logimplementaríamos el siguiente comando.

$ split -b 30 --additional-suffix=.txt large_file.txt large_file.log
Dividir archivo por prefijo
Dividir archivo por prefijo

División de archivos mediante el uso de prefijos numéricos

Si desea que los prefijos de archivos divididos se asocien con números numéricos como 00, 01 o 02 y no con letras como aa, ab o ac, implemente el comando con el -d opción de comando.

$ split -d -b 30 --additional-suffix=.txt large_file.txt large_file_log
Dividir archivo por prefijo numérico
Dividir archivo por prefijo numérico

Ahora podemos dividir cómodamente un archivo de texto grande en varios archivos más pequeños mientras conservamos el .txt extensión de archivo en Linux.

LEER  Tiny Cute Emulator Plugin para IDA basado en Unicorn

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba