Ouvrir un fichier massif sur Mac?


14

Je cherche à ouvrir un fichier texte massif sur mon mac. Le fichier est un peu plus de 10Gigs. Je ne parlerai pas de la façon dont il a été créé ni de son utilisation, car cela n’est pas vraiment pertinent pour la question.

Existe-t-il des programmes mac qui me permettent d’ouvrir un fichier aussi volumineux, ou peut-être le casser en morceaux (par exemple, 200 Mo ou quelque chose d’autre) qui seraient plus faciles à ouvrir individuellement.

Je n'ai pas nécessairement besoin de l'éditer, mais seulement d'en voir des parties. Tout ce que j'ai essayé, Textmate, Vim etc., etc.

J'utilise également Windows et Linux, mais il n'est pas facile de déplacer un fichier de cette taille. Il réside actuellement sur mon Mac et je préférerais ne pas avoir à le déplacer.


Semblable à superuser.com/questions/138474/… , mais cette question accepte également une alternative pour scinder le fichier
Doug Harris

Réponses:


16

split peut le faire -

 split -b 200m [file]

divisera le fichier en morceaux de 200 Mo. Vous pouvez diviser sur les lignes avec -l

 split -l 1000 [file]

divisera le fichier en 1000 lignes.

Si cela ne fonctionne pas, il existe un très bon éditeur hexadécimal pour Mac, Hex Fiend, qui peut ouvrir des fichiers volumineux:

Travailler avec d'énormes fichiers. Hex Fiend peut gérer un fichier aussi grand que vous êtes capable de créer. Il a été testé sur des fichiers atteignant 118 Go.

J'espère que ça t'as aidé!


C'est Unix, donc ça doit marcher. :)
Maaartinus

1
Hex Friend est juste génial !! Merci beaucoup pour la mention
lukaswelte

3

Avez-vous essayé l'un des outils de ligne de commande suivants:

  • sedou awk: éditeurs de flux, mais ceux-ci peuvent parfois nécessiter des expressions complexes pour obtenir le résultat souhaité
  • split: divise les fichiers en blocs d'un nombre donné d'octets, de lignes, etc.
  • csplit: fichier fractionné en fonction du contexte donné par l'expression régulière

L'un d'entre eux splitou csplitpourrait faire le travail, selon la façon dont ils gèrent l'utilisation de la mémoire. Consultez cette page pour plus d’informations sur splitetcsplit .

Pour plus d'informations sur ces outils, essayez votre moteur de recherche préféré ou tapez man <cmd-name>sur la ligne de commande du terminal.

Si vous pouvez fournir plus de contexte sur la manière dont vous voulez scinder les fichiers, je suis sûr que quelqu'un avec une connaissance approfondie de sed / awk ou des expressions régulières pourrait vous aider.


2

Je recommanderais de vérifier HexFiend - bien qu’un éditeur hexadécimal, il lit le fichier directement à partir du disque dur et n’essaie pas de le charger en mémoire comme la plupart des autres éditeurs de texte. Si vous souhaitez masquer la partie hexadécimale, décochez la case "Hexadécimal" dans le menu Affichage.


2

Une autre option consisterait à utiliser les commandes intégrées head et tail .

Pour obtenir les 1000 premières lignes:

head -1000 hugefile

Pour obtenir les 1000 dernières lignes:

tail -1000 hugefile

Ou pour obtenir des lignes allant de 1 000 000 à 1 001 000:

head -1001000 hugefile | tail -1000

Cela pourrait toutefois prendre beaucoup de temps.


J'aime cette option. Si je voulais seulement en prendre quelques morceaux à la fois. Cela ne convient pas à mon objectif maintenant, mais je l'utiliserai certainement dans le futur :) Merci
Chris Salij

0

J'ai besoin pour mon travail de voir d'énormes fichiers texte et je cherche depuis des années toutes les alternatives, même si ce n'est que sous Windows.

Le seul éditeur de texte que j'ai jamais trouvé qui puisse vraiment fonctionner efficacement sur des fichiers volumineux est V - The File Viewer .

Bien que commercial, à 20 $, ça vaut le coup si vous devez éditer ces fichiers fréquemment.
Si vous n’avez besoin que d’afficher un fichier en particulier, il existe une version d’essai entièrement fonctionnelle.

Le transfert de 10 Go sur le réseau vers une machine Windows ne devrait pas être trop lent.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.