Linux: ¿Cómo dividir un archivo grande en archivos más pequeños?


10

Tengo un archivo gigante (> 20 gigas) en mi máquina de origen y necesito transferirlo a mi máquina de destino. A los fines de esta pregunta, supongamos que no tengo conectividad de red entre las dos máquinas.

Necesito dividir este archivo en una serie de archivos más pequeños, escribir los archivos más pequeños en DVD (s) y luego volver a ensamblar todo en la máquina de destino.

Tanto las máquinas de origen como las de destino son cajas Linux. ¿Hay alguna manera de lograr esto usando tar? Tengo la sensación de que necesito usar el --multi-volumeparámetro. ¿Cuáles son mis opciones?

Necesito poder especificar el tamaño de los archivos de volumen, para asegurarme de que cada uno se ajuste a un solo DVD.

¡Gracias!

Respuestas:


14

Usa el comando dividir.

split -b 22 m newfile.txt new dividiría el archivo "newfile.txt" en tres archivos separados llamados newaa, newab y newac, cada archivo del tamaño de 22 MB.


3
Tenga cuidado de crear el prefijo "nuevo" que comparte con el archivo original "newfile.txt". ¡Ahora, cuando intentes hacerlo cat new* > newfile.txt, explotará!
Robert Martin

@RobertMartin ¡Buena captura!
duffbeer703

6

Se han cubierto otras respuestas splitpara combinarlas en un archivo maestro que acaba de usar cat.



0

split -b 4000000000 nombre_archivo

Creará cada archivo de 4 GB

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.