miércoles, 9 de abril de 2008

Cortar un fichero en trozos

Después de mucho pelearme con los sitemas de ficheros y distintos sitemas operativos, he decidido montar en mis discos externos (USB) el sistema de ficheros FAT32. Hasta el momento lo tenía con ext2, que me tiene un límite de tamaño de fichero superior a FAT32.

Pero ahora con mi nuevo Mac Book Pro, no he conseguido montar ext2 con modo lectura y escritura. Se monta en modo solo lectura.

Después de buscar encontré la fantastica aplicación split, en los lenguajes de programación se usa para cortar. Pues en GNU/Linux es lo mismo. Usando el comando split podemos hacer que nuestros ficheros grandes pasen a ser varios ficheros pequeños y somos nosotros quien decidimos el tamaño.

De esta forma podemos meter "ficheros grandes" en un disco duro con sistema de ficheros FAT32 que solo admite ficheros menores de 4GB.
split -b100m MiFicheroGrande.tgz MisFicherosChicos.

Al ejecutar eso, creará una sucesión de ficheros de 100MB (-b100m) del estilo a:
MisFicherosChicos.aa
MisFicherosChicos.ab
MisFicherosChicos.ac
MisFicherosChicos.ad
MisFicherosChicos. ...

Para pegar esos trozos es aún más sencillo.
cat MisFicherosChicos.* > MiFicheroGrandore.tgz

Y volveremos a tener todos los trozos pegados en uno solo, eso sí recuerda ejecutar este último comando en un disco duro donde el sistema de ficheros soporte el tamaño de la suma total de todos los ficheros pequeños.