¿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
foo
y 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 md5sum
cat foo.{000..NNN}
dóndeNNN
está la última pieza esperada. De esa forma, recibirá un mensaje de error si falta una de las piezas. Pero tenga en cuenta que-d
obtener 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_3
ser... cat >>foo_3
?rar
y a7zip
menudo 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