¿Cómo dividir archivos grandes en Windows?

75

¿Existe una herramienta para dividir un archivo de texto grande (9 Gb) en archivos más pequeños para que pueda abrirlo y mirar?

¿Algo utilizable desde la línea de comandos que viene con Windows (XP)?

¿O cuál es la mejor manera de dividirlo? ¿Puedo usar 7z para crear volúmenes separados y luego descomprimir uno de ellos por separado? ¿Será legible o necesitará todas las otras partes para descomprimir en el archivo grande nuevamente?

Actualizar

Arme un script de python rápido de 48 líneas que divide el archivo grande en archivos de 0.5GB que son fáciles de abrir incluso en vim. Solo necesito mirar los datos hacia la última parte del registro (sí, es un archivo de registro). Cada registro se divide en varias líneas para que grep no funcione.

stefanB
fuente
Te veo editado para mencionar grep. ¿Tiene instalado cygwin o unxutils? Podría haber usado grep -ncon heady tailpara ver fragmentos del archivo. Ejemplo, grep -n "something" file.txtvuelve 95625: something. ¿Quieres ver esa línea y 9 líneas por debajo de ella para un total de 10 líneas: head -n 95635 file.txt | tail -n 10.
John T
Noté que resolvió su problema. Si todavía está cerca, ¿podría publicar la solución para que otros puedan beneficiarse?
Journeyman Geek
Esto se ha discutido con mucho detalle en Stack Overflow [1] [1]: stackoverflow.com/questions/159521/…
Rishi Dua

Respuestas:

43

Hay un divisor de archivos de Windows gratuito llamado HJSplit

Disponible aquí . El sitio web afirma que puede dividir archivos de cualquier tipo y tamaño, pero 9 GB es un archivo grande .

pavium
fuente
1
Según el editor, admite la división de archivos "más de 100 Gigabytes"
yosh m
8
Pude usar este programa para dividir un archivo grande en partes más pequeñas, pero solo por tamaño (kB o MB). No respeta las líneas, por lo que no es muy útil para dividir archivos de registro. También es muy lento.
nulabilidad
HJSplit funciona tan feo ... No funciona con archivos de 5Gb +. La mayor parte del archivo simplemente pierde. Peases chunck contrarrestar nofuses después de 999, y algo más failes si utilizan más grandes Peases
user2602807
En sistemas de 64 bits, solo funciona con una GUI en Windows. Si desea automatizar las cosas, esta no es una solución
576i
24

El paquete GNU Core Utils (disponible aquí para Windows) incluye la utilidad Split. A mí me funciona bien :-)

La documentación de --help es la siguiente:

Usage: split [OPTION] [INPUT [PREFIX]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or when INPUT
is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.
  -a, --suffix-length=N   use suffixes of length N (default 2)
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           print a diagnostic to standard error just
                            before each output file is opened
      --help     display this help and exit
      --version  output version information and exit

SIZE may have a multiplier suffix: b for 512, k for 1K, m for 1 Meg.

Por ejemplo, para dividir input.txt en fragmentos de 100Mb, solo dividiendo en los extremos de las líneas,

split input.txt -C 100m

le dará archivos de salida llamados xaa, xab, xac, etc.

Volar a
fuente
2
por ejemplo, la descarga de git msys también incluye la utilidad.
EIS
Cmder es increíble para esto
Umber Ferrule
15

Otro es GSplit : según su sitio, puede dividir archivos muy grandes (más grandes que 4 Gb <, ya que cruzaron el límite de 4 Gb, supongo que también pueden hacer 9 Gb).

Pero, otra cosa: dices que quieres dividirlo en partes más pequeñas para poder abrirlo y mirarlo. Eso suena como un archivo de registro quizás muy grande.

En cualquier caso, para abrir archivos de texto grandes, ¿puedo recomendar EmEditor ? Afirman que pueden abrir archivos muy grandes (hasta aproximadamente 250 Gb), y lo he usado en el pasado para archivos de hasta 2 Gb. Pero en cualquier caso, creo que puede ser una mejor solución que dividir.

Torre
fuente
Acabo de probar GSplit. Funciona, aunque a través de una interfaz confusa, pero no ofrece ninguna manera de dividirse solo en un salto de línea; por lo tanto, no es demasiado útil ya que la división será a mitad de una línea.
Flyto
1
@Flyto En realidad, es posible dividir por línea si elige "Dividir después del número de ocurrencia" en el Pieces > Type and Sizemenú. Luego elige el número de líneas y el delimitador de línea en hexadecimal. Por defecto tiene el formato de Windows CR + LF ( 0x0D0x0A).
nulabilidad
@nullability gracias, no habría pensado en eso. Pero, encontré una solución mucho más simple a través de la utilidad GNU "split" - vea mi nueva respuesta :-)
Flyto
9

Echa un vistazo al Visor de archivos de texto grande , es ideal para cosas como esta. La mayoría de los archivadores y divisores separarán el archivo en partes que no se pueden usar para leer cada pieza de datos de forma independiente y adecuada, debe extraerlos todos para recuperar el archivo.

texto alternativo

El visor de archivos de texto grande es gratuito y portátil.

John T
fuente
3
El enlace parece estar roto, esto funciona a partir de ahora: softpedia.com/get/Office-tools/Other-Office-Tools/…
huseyint
El enlace original (¿o editado?) Está funcionando ahora; ¡Tomaría ese enlace sobre Softpedia cualquier día! Además, acabo de probar LTFViewer, y es increíble, abrí un archivo de 818MB que incluso Notepad ++ se quejó de abrir. No hay mucho en cuanto a la edición de funciones, pero una vez que vi los registros en LTFViewer, echo. > myfile.txtresolví el problema del archivo de registro de 818MB: D
Doktor J
LTFViewer es realmente genial (lo estoy usando), pero hay un límite. Traté de abrir un archivo SQL de 3GB con él, pero se congela. Mayby no tenía suficiente paciencia o algo así ...
Mathlight
LTFViewer funcionó muy bien para mí. Lo usé en un archivo (relativamente) más pequeño, de solo 750 MB, pero lo abrió en menos de 5 segundos.
Mike_OBrien
Puede descargarlo del archivo de Internet: web.archive.org/web/20151019115332/http://swiftgear.com
bromee el
8

Se puede usar 7-Zip para crear segmentos de archivo de texto en cierto tamaño (por ejemplo, segmentos de 100 MB de un archivo de registro de 1,5 GB).

Las opciones clave son: use "Almacenar" en lugar de "Comprimir". Use "Dividir en volúmenes".

Debería poder ver el texto en archivos .001 (.nnn).

ingrese la descripción de la imagen aquí

Mehul
fuente
¡La imagen adjunta es perfecta!
Erik
5

Puede usar 7zip para dividir los archivos. (Puede guardar en formato .zip o .7z). Cuando vaya a crear el archivo, hay una opción llamada "Volumen dividido, bytes". Solo selecciona qué tan grande quieres los trozos.

Y sí, puede descomprimirlos individualmente si lo desea.

Dividir archivos en 7zip

Felix
fuente
1

Hay una herramienta en línea que divide archivos de texto si alguien está buscando dividir archivos rápidamente. http://www.textfilesplitter.com .

Funciona muy bien para mi. Y divide archivos respetando líneas, que es lo que estaba buscando. También dice que todo es del lado del cliente HTML5, por lo que es seguro de usar. No estoy seguro de lo grande que puede llegar, pero creo que depende de la memoria RAM de su máquina.

Joe One
fuente
44
¿Realmente estás sugiriendo subir un archivo de 9 GB para dividirlo en tu navegador? ¿¿De Verdad??
spaghettidba
@spaghettidba: Dice que funciona del lado del cliente usando HTML5. Si ese es el caso, entonces no necesita cargarse. Sin embargo, admito que tuve la misma reacción que tú cuando leí la respuesta por primera vez.
mwolfe02
0

La idea de ver parte del archivo antes de decidir qué hacer con él es para mí la mejor opción.

La aplicación Large Text Viewer se puede instalar en Windows a través de Microsoft Store y ofrece una opción para cortar el archivo en trozos de tamaño. Es muy posible que use el mismo editor mencionado anteriormente (detrás de escena), pero la opción de instalarlo desde una fuente conocida es mejor en mi humilde opinión que los enlaces alternativos ofrecidos. Funciono muy bien para mi.

El único problema si se divide por tamaño es que no necesariamente rompe el archivo en un buen lugar, por lo que es posible que deba editarlo para capturar el contenido exacto que desea.

León
fuente
1
Por favor, editar su respuesta para incluir el nombre de la aplicación, para que pueda ser indexado y encontrado por búsqueda.
Scott