Dividir y unir archivos grandes desde la terminal con slipt y cat
En el siguiente artículo vamos a echar un vistazo a cómo podemos dividir y después volver a unir archivos grandes desde la terminal. En muchos momentos los usuarios podemos encontrarnos ante la necesidad de dividir archivos de gran tamaño en pedazos más pequeños, bien sea para subirlo a Dropbox o enviarlo a otro equipo, si la velocidad de subida disponible no es muy alta.
También podemos encontrarnos subiendo un archivo grande y bien sea por un corte de electricidad o por un problema de la red, la carga se interrumpa. En este caso, tendremos que volver a empezar de nuevo todo el proceso. Por esta y otras razones, una buena forma de mover este tipo de archivos es dividir el archivo grande en pequeños segmentos. De esta forma podremos moverlos de manera más ágil. El receptor, cuando quiera abrir el archivo, no tendrá más que combinar las partes pequeñas y así podrá disponer de una copia del archivo original.
En las siguientes líneas vamos a ver cómo dividir archivos grandes en partes pequeñas y cómo combinar estas piezas pequeñas de nuevo en un solo archivo.
Dividir y unir archivos desde la terminal de Ubuntu
Para realizar esta tarea, vamos a utilizar dos comandos que se pueden encontrar en nuestro sistema Ubuntu, como son slipt y cat.
¿Qué es split?
Se trata de un comando para sistemas Unix que nos va a permitir dividir un archivo en pedazos de menor tamaño. Este va a crear los archivos con un nombre y una extensión que irá variando (aa, ab, ac), pudiendo además establecer el tamaño de los archivos resultantes.
Para poder conocer más en profundidad las características del comando split, vamos a poder ver su documentación escribiendo en una terminal (Ctrl+Alt+T):
man slipt
¿Qué es cat?
Con el comando cat vamos a poder visualizar diferentes archivos de texto y además también podremos concatenar archivos divididos.
Al igual que ocurre con el anterior comando, vamos a poder consultar la documentación abriendo una terminal (Ctrl+Alt+T) y escribiendo en ella:
man cat
Divide archivos grandes desde la terminal
Para mostrar como ejemplo, voy a utilizar una imagen ISO de ubuntu-18.10-desktop-amd64.iso que tengo en este equipo. Antes de empezar vamos a verificar el tamaño del archivo. Para esta tarea, en una terminal (Ctrl+Alt+T) vamos a utilizar el siguiente comando:
du -h ubuntu-18.10-desktop-amd64.iso
Como se puede ver, este es un archivo grande que según la velocidad de subida disponible, puede resultar complicado compartir por la red. Por este motivo, el siguiente paso a seguir será el de dividir este archivo ISO en archivos de tamaño más pequeño.
Divide un archivo con split
Para dividir la imagen ISO de este ejemplo en archivos con un tamaño, por ejemplo de 200 MB cada uno, vamos a abrir una terminal (Ctrl+Alt+T) y utilizaremos el siguiente comando:
split -b 200M ubuntu-18.10-desktop-amd64.iso UB.
Hay que decir que este comando puede tardar un tiempo. La velocidad va a depender del tamaño del archivo que queremos dividir y de los recursos del PC en el que lo utilicemos.
Terminado el proceso de división, vamos a poder verificar la salida del comando anterior utilizando el siguiente comando en la misma terminal:
ls -lh
Como puede ver en la captura de pantalla, nos vamos a encontrar archivos nuevos que comienzan con UB. Además todos ellos contarán con un tamaño de 200 MB como máximo. Ahora será fácil subirlos, moverlos o enviarlos a cualquier lugar.
Combinar archivos con cat
Terminada la fase de división del archivo, es el momento de unir todas las partes para poder volver a disponer de una copia del archivo original. Para desarrollar este ejemplo, primero voy a crear un nuevo directorio para mover los archivos pequeños.
mkdir ISO/
A continuación voy a mover todos los archivos de tamaño más pequeño que comienzan con UB al nuevo directorio.
mv UB* ISO/
Y me voy a mover al nuevo directorio.
cd ISO/
En este punto vamos a combinar los archivos con nombre UB en un nuevo archivo llamado ISO-Ubuntu-combinada.iso. Para hacerlo ejecutaremos el siguiente comando:
cat UB.?? > ISO-Ubuntu-combinada.iso
Este comando puede tardar un poco, dependiendo de los recursos del PC en donde se ejecute. Una vez que se complete el comando cat, podemos echar un vistazo al contenido del directorio para verificar el archivo recién creado.
Confirmada la creación de la imagen ISO de Ubuntu, ya podemos utilizarla como mejor nos convenga.
Y así podemos dividir un archivo grande en otros archivos pequeños y volver a combinarlos de manera sencilla. Solo necesitas utilizar los comandos slipt y cat desde la terminal de Ubuntu.
El artículo Dividir y unir archivos grandes desde la terminal con slipt y cat ha sido originalmente publicado en Ubunlog.