it-swarm-es.tech

Rompa un archivo grande en pedazos más pequeños

¿Cómo divido un archivo grande + 4GB en archivos más pequeños de aproximadamente 500MB cada uno?.

¿Y cómo puedo volver a ensamblar nuevamente para obtener el archivo original?

66
Stefan

Puede usar split y cat .

Por ejemplo algo como

$ split --bytes 500M --numeric-suffixes --suffix-length=3 foo foo.

(donde el nombre de archivo de entrada es foo y el último argumento es el prefijo de salida). Esto creará archivos como foo.000 foo.001 ...

El mismo comando con opciones cortas:

$ split -b 100k -d -a 3 foo foo

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:

$ cat foo.* > foo_2

(suponiendo que Shell clasifique los resultados del bloqueo de Shell, y que el número de partes no exceda el límite de argumentos dependiente del sistema)

Puede comparar el resultado a través de:

$ cmp foo foo_2
$ echo $?

(que debería generar 0)

Alternativamente, puede usar una combinación de find/sort/xargs para volver a ensamblar las piezas:

$ find -maxdepth 1 -type f -name 'foo.*'  | sort | xargs cat > foo_3
80
maxschlepzig

También puede hacerlo con Archive Manager si prefiere una GUI. Busque en 'Guardar-> Otras opciones-> Dividir en volúmenes de'.

4
user1498