Comment diviser un gros fichier sous Windows?

75

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

Tout ce qui est utilisable à partir de la ligne de commande fournie avec Windows (XP)?

Ou quel est le meilleur moyen de le scinder? 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 faut-il que toutes les autres parties soient décompressées dans le gros fichier?

Mise à jour

J'ai mis en place un script python de 48 lignes qui scinde le fichier volumineux en fichiers de 0,5 Go qu'il est facile d'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 étant divisé sur plusieurs lignes, grep ne le ferait pas.

StefanB
la source
Je vous vois édité pour mentionner grep. Avez-vous installé cygwin ou unxutils? Vous auriez pu utiliser grep -navec headet tailpour voir des morceaux du fichier. Exemple, grep -n "something" file.txtretourne 95625: something. Vous voulez voir cette ligne et 9 lignes en dessous pour un total de 10 lignes: head -n 95635 file.txt | tail -n 10.
John T
Je remarque que vous avez résolu votre problème. Si vous êtes toujours là, pourriez-vous afficher la solution pour que d’autres en bénéficient?
Compagnon Geek
Cela a été discuté en détail à Stack Overflow [1] [1]: stackoverflow.com/questions/159521/…
Rishi Dua

Réponses:

43

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

Disponible ici . Le site Web affirme qu'il peut fractionner des fichiers de tout type et de toute taille, mais que 9 Go est un gros fichier.

pavium
la source
1
Selon l'éditeur, il prend en charge le fractionnement des fichiers "plus de 100 gigaoctets"
yosh m
8
J'ai pu utiliser ce programme pour diviser un fichier volumineux en fichiers plus petits, mais uniquement par taille (Ko ou Mo). Il ne respecte pas les lignes, il n'est donc pas très utile pour fractionner les fichiers journaux. C'est aussi très lent.
Annulation
HJSplit fonctionne si moche ... Il ne fonctionne pas avec les fichiers 5Gb +. La plus grande partie du fichier est en train de perdre du tout. Chunck bloque les compteurs nofuses après 999, et quelque chose d'autre échoue si on utilise de plus gros peases
user2602807
Sur les systèmes 64 bits, il ne fonctionne qu'avec une interface graphique Windows. Si vous voulez automatiser des choses, ce n'est pas une solution
576i
24

Le paquet GNU Core Utils (disponible ici pour Windows) inclut l’utilitaire Split. Cela fonctionne bien pour moi :-)

La documentation de --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 scinder le fichier input.txt en tranches de 100 Mo, en ne séparant qu’à la fin des lignes,

split input.txt -C 100m

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

Voler vers
la source
2
par exemple, le téléchargement de git msys inclut l'utilitaire.
eis
Cmder est incroyable pour cela
Umber Ferrule
15

GSplit est un autre exemple - selon leur site, il peut fractionner des fichiers très volumineux (plus de 4 Go <- puisqu'ils ont franchi la limite de 4 Go, je suppose qu'ils peuvent également utiliser 9 Go).

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

Quoi qu'il en soit, je peux recommander EmEditor pour ouvrir des fichiers texte volumineux : ils prétendent pouvoir ouvrir des fichiers très volumineux (jusqu'à environ 250 Go) et je l'avais déjà utilisé pour des fichiers jusqu'à 2 Go. Mais dans tous les cas, je pense que cela pourrait être une meilleure solution que la scission.

Tour
la source
Je viens d'essayer GSplit. Cela fonctionne, bien que via une interface déroutante, mais il n’offre aucun moyen de scinder uniquement les sauts de ligne - pour fractionner des fichiers de données ASCII, il n’est donc pas très utile, car la scission se fera au milieu d’une ligne.
Flyto
1
@Flyto En fait, il est possible de scinder par ligne si vous choisissez "Scinder le numéro après l'occurrence" dans le Pieces > Type and Sizemenu. Vous choisissez ensuite le nombre de lignes et le séparateur de lignes en hexadécimal. Par défaut, il a le format Windows CR + LF ( 0x0D0x0A).
Annulation
@nullability merci - 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 :-)
Flyto
9

Découvrez la grande visionneuse de fichiers texte , c'est bien pour ce genre de choses. La plupart des archiveurs et des séparateurs séparent le fichier en éléments qui ne peuvent pas être utilisés pour lire chaque élément de données indépendamment et correctement. Vous devez tous les extraire pour récupérer le fichier.

texte alternatif

Large Text File Viewer est gratuit et portable.

John T
la source
3
Le lien semble cassé, cela fonctionne dès maintenant: softpedia.com/get/Office-tools/Other-Office-Tools/…
huseyint
Le lien original (ou modifié?) Fonctionne maintenant; Je prendrais ce lien sur softpedia n'importe quel jour! En outre, je viens d’essayer LTFViewer, et c’est génial, d’ouvrir un fichier de 818 Mo que même Notepad ++ s’est plaint de l’ouverture. Peu de choses sur le plan de l'édition des fonctionnalités, mais une fois que j'avais consulté les journaux dans LTFViewer, echo. > myfile.txtle problème de fichier journal de 818 Mo a été résolu: D
Doktor J
LTFViewer est vraiment génial (je l'utilise pour), mais il y a une limite. J'ai essayé d'ouvrir un fichier SQL de 3 Go avec, mais il se bloque. Mai je n'ai pas eu assez de patience ou quelque chose ...
Mathlight
LTFViewer a très bien fonctionné pour moi. Je l'ai utilisé sur un fichier (relativement) plus petit, seulement 750 Mo, mais il l'a ouvert en moins de 5 secondes.
Mike_OBrien
Vous pouvez le télécharger à partir des archives Internet: web.archive.org/web/20151019115332/http://swiftgear.com
quip du
8

Vous pouvez 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 - Utiliser "Store" par opposition à "Compresser" - Utiliser "Diviser en volumes"

Vous devriez pouvoir voir du texte dans des fichiers .001 (.nnn).

entrez la description de l'image ici

Mehul
la source
L'image ci-jointe est parfaite!
Erik
5

Vous pouvez utiliser 7zip pour diviser les fichiers. (Vous pouvez enregistrer au format .zip ou .7z.) Lorsque vous créez l’archive, une option appelée "Fractionner le volume, en octets". Il suffit de sélectionner la taille souhaitée pour les morceaux.

Et oui, vous pouvez les décompresser individuellement si vous le souhaitez.

Fractionner les fichiers en 7zip

Félix
la source
1

Il existe un outil en ligne qui sépare les fichiers texte si quelqu'un cherche à fractionner les fichiers rapidement. http://www.textfilesplitter.com .

Ça marche bien pour moi. Et divise les fichiers en respectant les lignes, ce que je cherchais. Il indique également que tout se trouve du côté du client HTML5, donc son utilisation est sûre. Je ne sais pas à quel point cela peut aller, mais je pense que cela dépend du bélier de votre machine.

Joe One
la source
4
Suggérez-vous vraiment de télécharger un fichier de 9 Go pour le scinder dans votre navigateur? Vraiment??
spaghettidba
@spaghettidba: Il dit que cela fonctionne côté client en utilisant HTML5. Si c'est le cas, il n'est pas nécessaire de le télécharger. J'avoue que j'ai toutefois eu la même réaction que vous lorsque j'ai lu la réponse pour la première fois.
mwolfe02
0

L'idée de voir une partie du fichier avant de décider quoi en faire est pour moi la meilleure option.

L'application Large Text Viewer peut être installée sur Windows via Microsoft Store et offre la possibilité de couper le fichier en morceaux de taille importante. Il se peut qu’il utilise le même éditeur que précédemment mentionné (en coulisse), mais l’option pour l’installer à partir d’une source connue est meilleur à mon humble avis que les liens alternatifs proposés. Cela a très bien fonctionné pour moi.

Le seul problème en cas de fractionnement par taille est que le fichier n'est pas forcément placé au bon endroit. Vous devrez peut-être le modifier pour capturer le contenu exact que vous souhaitez.

Leo
la source
1
Veuillez modifier votre réponse pour inclure le nom de l'application, afin qu'elle puisse être indexée et trouvée par recherche.
Scott