Dividir y unir ficheros en GNU/Linux
Muchas veces necesitamos transportar ficheros de una máquina a otra y el tamaño de éstos excede el espacio máximo disponible, por ejemplo, en una memoria USB. Ese ha sido el caso en el día de hoy: necesitaba trasladar un fichero de 2,3G y disponía de dos memorias USB, una con 2GB y otra con algo menos de 1GB. Así, tenía que dividir el fichero en varios, de tal forma que cada uno de ellos fuera inferior a 1GB. Con la orden split ha sido fácil, basta con hacer:
[11:44:26(godo@alpechin)~]> split -b 950MB 11-xp.vmdk
Y he obtenido como resultado los siguientes trozos de fichero (automáticamente llamados xa?, dónde la interrogación va avanzando por el abecedario cada vez que surge un nuevo trozito):
[23:03:39(godo@surco)~/maq-virtual/VirtualBox/import]> l total 2,3G -rwxr-xr-x 1 godo godo 906M jul 8 22:19 xaa -rwxr-xr-x 1 godo godo 906M jul 8 22:39 xab -rwxr-xr-x 1 godo godo 485M jul 8 23:03 xac
Que una vez transportados al lugar de destino han sido unidos con la orden cat, así:
[23:05:03(godo@surco)~/maq-virtual/VirtualBox/import]> cat x?? > 11-xp.vmdk
Y aquí podemos observar el resultado que, obviamente, coincide con el punto de partida:
[23:11:12(godo@surco)~/maq-virtual/VirtualBox/import]> l total 4,5G -rw-r--r-- 1 godo godo 2,3G jul 8 23:11 11-xp.vmdk -rwxr-xr-x 1 godo godo 906M jul 8 22:19 xaa -rwxr-xr-x 1 godo godo 906M jul 8 22:39 xab -rwxr-xr-x 1 godo godo 485M jul 8 23:03 xac
Ya podemos eliminar los trozos que nos han servido para realizar el transporte.
Espero que os sea útil.