Tengo un archivo grande (8 GB por ejemplo). ¿Cómo puedo dividirlo en varias partes, digamos 3 partes iguales, y después de eso, cómo las integro más tarde?
Tengo un archivo grande (8 GB por ejemplo). ¿Cómo puedo dividirlo en varias partes, digamos 3 partes iguales, y después de eso, cómo las integro más tarde?
Respuestas:
Hay varias maneras de lograr esto. Comencemos con los básicos.
Vamos a decir que tengo una imagen y es demasiado grande (10 MB). Todo lo que hago es:
split --bytes=1M /path/to/image/image.jpg /path/to/image/prefixForNewImagePieces
y luego para armarlo uso cat:
cat prefixFiles* > newimage.jpg
Por ejemplo:
Suponiendo que estoy dentro de la carpeta donde está la imagen:
split --bytes=1M myimage.jpg new
Si la imagen está dentro de un directorio llamado imágenes, también puede hacer esto:
split --bytes=1M images/myimage.jpg new
Si la imagen está dentro del directorio / home / cyrex / images, puede hacer esto:
split --bytes=1M /home/cyrex/images/myimage.jpg new
(En todos los casos por encima de éste se parte myimage.jpg
en trozos de 1 MB y el prefijo del nombre de las piezas con la palabra nueva. Por lo que se vería como newaa
, newab
, newac
, newad
...)
Si está dividiendo un archivo de texto y desea dividirlo por líneas, puede hacer esto:
split -l 1000 book.txt new
Lo que dividirá el archivo de texto en archivos de salida de 1000 líneas cada uno. Esta es otra forma de dividir un archivo y se usa principalmente para archivos de texto como registros, volcados de sql, archivos csv, etc.
Entonces los fusiono
cat new* > newimage.jpg
Esta es una forma. Incluso puede cambiar el tamaño de las piezas divididas. Sólo cambia la parte que dice --bytes=1M
que --bytes=1K
para el 1 kilobyte o 1G para giga, u otro número igual --bytes=4K
de piezas de 4 KB.
Otra forma es la opción de compresión en la interfaz gráfica de usuario de Nautilus. Le da la opción de dividir el archivo o archivos que desea comprimir en tamaños de megabytes más pequeños. Es simple y fácil.
Suponiendo que tenga una imagen ISO llamada ubuntu.iso
, podría hacer esto:
7z a -v5m -mx0 ubuntu.7z ubuntu.iso
Esto creará archivos de 5 MB de tamaño desde ubuntu.iso
. El -v5m
es el tamaño del volumen para que pueda cambiarlo a 10, 12, 1, 3 y también el m puede cambiarse a k por kilobytes, etc; el -mx0
interruptor le dice a 7-Zip que no use compresión, es decir, que divida los datos en partes.
Para extraer solo haz
7z x ubuntu.7z.001
de esta manera extrae el primer archivo y 7z comienza a extraer de los siguientes archivos en orden. Tambien puedes hacer
7z e ubuntu.7z.001
que tiene el mismo efecto aquí.
Usando split -b
con el número apropiado, puede obtener tres piezas.
El número podría ser:
size=$(wc -c <"file name")
one_third=$((size/3+1))
Para volver a armar, use cat
cat "file name"* > "file name"
Las páginas del manual ayudarán a completar los detalles.
split --number
para permitir split
calcular la cantidad de archivos por usted: askubuntu.com/questions/54579/…
Es un popular programa gratuito para dividir y recombinar archivos. El programa está disponible en Windows, Linux y una variedad de otras plataformas.
HJSplit para Linux es un divisor de archivos gratuito para Linux con una interfaz gráfica de usuario completa. HJSplit admite archivos de más de 100 Gigabytes, Split, Join / Recombine, sumas de comprobación MD5, comparación de archivos, "ejecutar sin instalar" y el programa es totalmente portátil.
HJSplit para Linux no necesita ser instalado y no depende de ninguna biblioteca especial. Simplemente extraiga el archivo hjsplitlx.tar.gz en un directorio de su elección e inicie el programa desde el administrador de archivos de Linux o desde una ventana de terminal. Es posible que deba ajustar los permisos de archivo del programa a 'ejecutable'.
¿Gnomo dividido? http://gnome-split.org/
GNOME Split es una herramienta que le permite dividir archivos y fusionarlos nuevamente. Está escrito en Java y utiliza una interfaz de usuario GTK + (gracias al proyecto java-gnome). El objetivo es ofrecer una implementación nativa de proyectos similares que puedan manejar múltiples formatos de archivo (por ejemplo, Xtremsplit).
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
Del desarrollador:
OZ es lo que llamarías un 'divisor de archivos'. Su formato de archivo es el mismo que el utilizado por el software 'Hacha', un conocido divisor en España y América Latina. HOZ es una implementación C de código abierto y portátil de un divisor compatible 'Hacha'.
HOZ es más pequeño y más rápido que 'Hacha'.
por cierto, usé una 'Z' en lugar de una 'S' en 'Zource' porque 'hoz' es 'hoz' en español, y dado que 'hacha' es la palabra española para 'ax' ...
Después de la instalación, puede usar la GUI de Hoz colocando ghoz
un terminal. La operación es tan simple que no necesita explicación, pero se puede obtener más información en el sitio del desarrollador.
¡Buena suerte!
Una utilidad gratuita de división y fusión de archivos desarrollada en Java. Es una aplicación de tamaño pequeño que permite al usuario dividir cualquier tipo de archivo en tamaños más pequeños en KB, MB o GB.
Está disponible tanto para Linux como para Windows.
WoodCutter ofrece 3 formas de fusionar los archivos originales. WoodCutter crea un archivo de fusión que la aplicación WoodCutter puede procesar para unir todos los archivos. En caso de que el receptor de archivos divididos no tenga WoodCutter instalado, también se puede obtener el archivo original, ya que WoodCutter también crea un archivo por lotes y un archivo de script Shell para fusionar los archivos. El archivo por lotes se usará en la plataforma Windows y el script Shell se usará en las plataformas Linux.
split --number
Esta es una buena opción para generar N archivos con el mismo tamaño, excepto el último que podría ser más grande debido a la indivisibilidad. P.ej:
printf '0123456789' > f.txt
split -d --number 2 f.txt f.txt.part.
tail f.txt.part.*
da:
==> f.txt.part.00 <==
01234
==> f.txt.part.01 <==
56789
y:
split -d --number 3 f.txt f.txt.part.
tail f.txt.part.*
da:
==> f.txt.part.00 <==
012
==> f.txt.part.01 <==
345
==> f.txt.part.02 <==
6789
En comparación con el -b
cálculo de tamaño explícito +, que se mencionó en: https://askubuntu.com/a/54584/52975 , el último archivo puede ser casi 2 veces más grande que los anteriores, lo que a veces es una desventaja de esta opción. Sin embargo, es más conveniente muchas veces, ya que no tiene que hacer el cálculo del tamaño usted mismo.
Se solicitó la misma cantidad de líneas en: https://stackoverflow.com/questions/2016894/how-to-split-a-large-text-file-into-smaller-files-with-equal-number-of-lines
Probado en split
2.28, Ubuntu 18.04.