¿Cómo divido un archivo grande de + 4 GB en archivos más pequeños de aproximadamente 500 MB cada uno?
¿Y cómo los vuelvo a ensamblar para obtener el archivo original?
command-line
split
Stefan
fuente
fuente

Respuestas:
Puedes usar split y cat .
Por ejemplo algo como
(donde está el nombre de archivo de entrada
fooy el último argumento es el prefijo de salida). Esto creará archivos comofoo.000 foo.001...El mismo comando con opciones cortas:
También puede especificar "--line-bytes" si desea que se divida en los límites de la línea en lugar de solo el número exacto de bytes.
Para volver a ensamblar las piezas generadas, puede usar, por ejemplo:
(suponiendo que el shell clasifica los resultados del bloqueo del shell, y el número de partes no excede el límite de argumentos dependiente del sistema)
Puede comparar el resultado a través de:
(que debería generar 0)
Alternativamente, puede usar una combinación de find / sort / xargs para volver a ensamblar las piezas:
fuente
man split cat md5sumcat foo.{000..NNN}dóndeNNNestá la última pieza esperada. De esa forma, recibirá un mensaje de error si falta una de las piezas. Pero tenga en cuenta que-dobtener sufijos numéricos es específico de la división GNU; en otras plataformas que tiene que conformarse confoo.aaa,foo.aab, etc.split, KB = 1000, K = 1024, MB = 1000 * 1000, M = 1024 * 1024, etc.... cat > foo_3ser... cat >>foo_3?rary a7zipmenudo se usan para hacer que tales divisiones sean más fáciles de volver a montar en plataformas cruzadasTambién puede hacer esto con Archive Manager si prefiere una GUI. Busque en 'Guardar-> Otras opciones-> Dividir en volúmenes de'.
fuente