100 votes

Comment diviser un fichier volumineux sous Windows ?

Existe-t-il un outil permettant de diviser un gros fichier texte (9 Go) en fichiers plus petits afin que je puisse l'ouvrir et le parcourir ?

Quelque chose d'utilisable à partir de la ligne de commande fournie avec Windows (XP) ?

Ou quelle est la meilleure façon de le diviser ? Puis-je utiliser 7z pour créer des volumes séparés, puis décompresser l'un d'eux séparément ? Sera-t-il lisible ou aura-t-il besoin de toutes les autres parties pour être décompressé dans le grand fichier ?

Mise à jour

J'ai mis en place un script Python script qui divise le gros fichier en fichiers de 0.5GB qui sont faciles à ouvrir même dans vim. J'ai juste besoin de regarder à travers les données vers la dernière partie du journal (oui c'est un fichier journal). Chaque enregistrement est réparti sur plusieurs lignes et grep ne suffirait pas.

0 votes

Je vois que tu as modifié pour mentionner grep. Avez-vous installé cygwin ou unxutils ? Vous auriez pu utiliser grep -n con head y tail pour voir des morceaux du fichier. Exemple, grep -n "something" file.txt renvoie à 95625: something . Vous voulez voir cette ligne et 9 lignes en dessous, soit un total de 10 lignes : head -n 95635 file.txt | tail -n 10 .

0 votes

J'ai remarqué que vous avez résolu votre problème. Si vous êtes toujours là, pourriez-vous poster la solution pour que d'autres puissent en profiter ?

0 votes

Cette question a été examinée en détail à l'adresse suivante Stack Overflow [1] [1] : stackoverflow.com/questions/159521/

50voto

pavium Points 6334

Il existe un séparateur de fichiers Windows gratuit appelé HJSplit

Disponible sur aquí . Le site web affirme qu'il peut diviser des fichiers de n'importe quel type et de n'importe quelle taille, mais 9 Go est une somme considérable. grand fichier.

1 votes

Selon l'éditeur, il prend en charge la division de fichiers "de plus de 100 gigaoctets".

8 votes

J'ai pu utiliser ce programme pour diviser un grand fichier en plus petits morceaux, mais seulement par taille (kB ou MB). Il ne respecte pas les lignes, il n'est donc pas très utile pour diviser les fichiers journaux. Il est également très lent.

0 votes

HJSplit fonctionne si mal... Il ne fonctionne pas avec les fichiers de 5Gb+. La plus grande partie du fichier juste perdre à tous. Chunck peases counter nofuses after 999, and something else faults if use bigger peases.

43voto

Flyto Points 686

Le site Utilitaires de base GNU (disponible aquí pour Windows) comprend l'utilitaire Split.

Le site --help est la suivante :

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.

Par exemple, pour découper input.txt en morceaux de 100Mb, en ne découpant qu'en fin de ligne,

split input.txt -C 100m

vous donnera des fichiers de sortie nommés xaa, xab, xac, etc.

2 votes

Par exemple, le téléchargement de git msys inclut également l'utilitaire.

1 votes

Cmder est incroyable pour cela

32voto

Mehul Points 221

On peut utiliser 7-Zip pour créer des segments de fichier texte d'une certaine taille (par exemple, des segments de 100 Mo sur un fichier journal de 1,5 Go).

Les options clés sont les suivantes - Utiliser "Stocker" plutôt que "Comprimer". - Utiliser "Diviser en volumes".

Vous devriez être en mesure de voir le texte dans les fichiers .001 (.nnn).

enter image description here

0 votes

L'image ci-jointe est parfaite !

0 votes

Bonne alternative, sans avoir besoin d'installer quoi que ce soit (la plupart des gens ont soit 7zip soit WinRar). J'ai essayé les différents formats, et ils ne stockent tous que l'en-tête dans le premier fichier, les autres n'ont pas d'en-tête. Les plus petits en-têtes sont avec les formats zip et 7zip. Avec WinRar, vous pouvez faire la même chose, les en-têtes sont également petits, mais il les ajoute à chaque fichier, ce qui représente un peu plus d'efforts si vous avez besoin de trop de pièces.

15voto

Rook Points 23039

Un autre est GSplit - Selon leur site, il peut diviser de très gros fichiers (plus de 4 Go <-- puisqu'ils ont dépassé la limite de 4 Go, je suppose qu'ils peuvent aussi faire 9 Go).

Mais, autre chose - vous dites que vous voulez le diviser en petites parties pour pouvoir l'ouvrir et l'examiner. Cela ressemble à un très gros fichier journal.

Quoi qu'il en soit, pour l'ouverture de gros fichiers texte, je vous recommande EmEditor - Ils prétendent eux-mêmes qu'il peut ouvrir de très gros fichiers (jusqu'à environ 250 Go), et je l'ai utilisé dans le passé pour des fichiers jusqu'à 2 Go. Mais dans tous les cas, je pense que c'est peut-être une meilleure solution que le fractionnement.

0 votes

Je viens d'essayer GSplit. Il fonctionne, bien qu'au travers d'une interface confuse, mais il n'offre pas de moyen de séparer uniquement à un saut de ligne - pour séparer des fichiers de données ASCII, ce n'est donc pas très utile car la séparation se fera au milieu d'une ligne.

1 votes

@Flyto En fait, c'est est Il est possible d'effectuer un fractionnement par ligne si vous choisissez "Fractionnement après le numéro d'événement" sous la rubrique "Fractionnement". Pieces > Type and Size menu. Vous choisissez ensuite le nombre de lignes et le délimiteur de ligne en hexadécimal. Par défaut, il a le format Windows CR+LF ( 0x0D0x0A ).

0 votes

Merci à @nullability - je n'y aurais pas pensé. Mais, j'ai trouvé une solution beaucoup plus simple grâce à l'utilitaire GNU "split" - voir ma nouvelle réponse :-)

9voto

Dalroth Points 2468

Vérifiez Visualiseur de fichiers texte volumineux c'est génial pour des choses comme ça. La plupart des archiveurs et des diviseurs séparent le fichier en morceaux qui ne peuvent pas être utilisés pour lire chaque élément de données indépendamment et correctement, vous devez les extraire tous pour récupérer le fichier.

alt text

Large Text File Viewer est gratuit et portable.

3 votes

Le lien semble être cassé, ceci fonctionne pour l'instant : softpedia.com/get/Office-tools/Other-Office-Tools/

0 votes

Le lien original (ou modifié ?) fonctionne maintenant ; je prendrais ce lien plutôt que softpedia n'importe quand ! Aussi, je viens d'essayer LTFViewer, et c'est génial, il a ouvert un fichier de 818MB que même Notepad++ se plaignait de ne pas pouvoir ouvrir. Il n'y a pas beaucoup de fonctionnalités d'édition, mais une fois que j'ai vu les journaux dans LTFViewer, echo. > myfile.txt Résolution du problème du fichier journal de 818 Mo :D

0 votes

LTFViewer est vraiment génial (je l'utilise aussi), mais il y a une limite. J'ai essayé d'ouvrir un fichier SQL de 3GB avec lui, mais il se bloque. Peut-être que je n'ai pas eu assez de patience ou quelque chose comme ça...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X