¿Cómo dividir archivos más grandes en partes más pequeñas?
189
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?
¿Estás seguro de "Esto parece ser"? Diablos, es exactamente lo mismo. Excepto que aquí está ahora con un bono de "Más ejemplos y alternativas".
Luis Alvarado
Puede ser útil si dices más sobre por qué quieres dividirlo, y si quieres dividirlo solo en subcadenas de bytes o si estás abierto a envolverlos en algún tipo de verificación o etiquetado de errores. Si esto es para ponerlo en medios más pequeños o para transferencias de red, miraría algo así como par2 .
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.jpgen 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=1Mque --bytes=1Kpara el 1 kilobyte o 1G para giga, u otro número igual --bytes=4Kde piezas de 4 KB.
Usando Nautilus
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.
Otra forma más es usar 7z
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 -v5mes 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 -mx0interruptor 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
No incluyó rar ya que aún no es de código abierto (que yo sepa) y no agregué Tar ya que estaba buscando formas fáciles de hacer la división.
Luis Alvarado
Agregue gzip también: 7zip requiere un paquete de instalación iirc
Broam
Por lo que sé, Gzip (como tar) no tiene una opción fácil para dividir el archivo comprimido. En todos los casos, los he visto usando el comando dividir para "dividir" el archivo comprimido. Por lo tanto, no sería un comando sino un grupo de comandos para lograr un solo propósito que se puede hacer con uno solo, como dividir o 7z. Para la instalación de 7Zip (que es el p7zip del paquete completo p7zip) nunca me ha pedido iirc;).
Luis Alvarado
Se agregó división de archivos de texto. Olvidé eso y hoy sucedió que necesitaba dividir un par de archivos CSV. Esto es para esos volcados que necesita tener una cantidad específica de líneas.
Luis Alvarado
10
Usando split -bcon el número apropiado, puede obtener tres piezas.
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'.
Debo decir que el archivo de Windows también funciona en Linux.
Uri Herrera
2
Hay varias formas de dividir / unir un archivo antes de tener que ir a un programa como este. Prefiero usar las poderosas opciones que ofrece Linux y para dividir / fusionar archivos, tiene algunas formas bastante rápidas y seguras de hacerlo.
Luis Alvarado
3
Es seguro, rápido, y es multiplataforma que incluye LINUX, no es una aplicación de WINDOWS que también se ejecuta en Linux también ...
Uri Herrera
2
Yo uso HJSplit, es genial y simple. No es necesario escribir comandos y nombres de parámetros cuando solo puede llenar los valores de los parámetros en cuadros de texto.
Matthew leyó el
2
Y ser una descarga gratuita lo empeora porque? y debo decir que EN NINGÚN LUGAR EN EL OP PIDE SOFTWARE GRATUITO (que es gratis) y a lo que se refiere se llama ABIERTO, ¿hay alguna diferencia?
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).
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 ghozun 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.
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.
En comparación con el -bcá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.
Respuestas:
Hay varias maneras de lograr esto. Comencemos con los básicos.
Usando los comandos split y cat :
Vamos a decir que tengo una imagen y es demasiado grande (10 MB). Todo lo que hago es:
y luego para armarlo uso cat:
Por ejemplo:
Suponiendo que estoy dentro de la carpeta donde está la imagen:
Si la imagen está dentro de un directorio llamado imágenes, también puede hacer esto:
Si la imagen está dentro del directorio / home / cyrex / images, puede hacer esto:
(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 comonewaa
,newab
,newac
,newad
...)Si está dividiendo un archivo de texto y desea dividirlo por líneas, puede hacer esto:
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
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.Usando Nautilus
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.
Otra forma más es usar 7z
Suponiendo que tenga una imagen ISO llamada
ubuntu.iso
, podría hacer esto: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
de esta manera extrae el primer archivo y 7z comienza a extraer de los siguientes archivos en orden. Tambien puedes hacer
que tiene el mismo efecto aquí.
fuente
Usando
split -b
con el número apropiado, puede obtener tres piezas.El número podría ser:
Para volver a armar, use cat
Las páginas del manual ayudarán a completar los detalles.
fuente
split --number
para permitirsplit
calcular la cantidad de archivos por usted: askubuntu.com/questions/54579/…HJSplit
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'.
fuente
¿Gnomo dividido? http://gnome-split.org/
http://www.omgubuntu.co.uk/2010/08/split-large-files-easily-in-ubuntu-with-gnome-split/
fuente
HOZ - Hacha Open Zource v1.65 - http://hoz.sourceforge.net/
Del desarrollador:
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!
fuente
Leñador
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.
http://java-puzzle.blogspot.com/2009/07/woodcutter.html
fuente
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:
da:
y:
da:
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.fuente