Existe-t-il des éditeurs qui peuvent modifier des fichiers texte de plusieurs gigaoctets, peut-être en ne chargeant que de petites portions en mémoire à la fois? Il ne semble pas que Vim puisse le gérer = (
vim
text
text-editor
Philippe Brocoum
la source
la source
Réponses:
Si vous êtes sur * nix (et en supposant que vous devez modifier une partie seulement du fichier (et rarement)), vous pouvez diviser les fichiers ( à l' aide de la
split
commande), les modifier individuellement ( en utilisantawk
,sed
ou quelque chose de similaire) et les concaténer après que vous sont fait.la source
Ctrl-C arrêtera le chargement du fichier. Si le fichier est assez petit, vous avez peut-être eu de la chance d'avoir chargé tout le contenu et de supprimer toutes les étapes de post-chargement. Vérifiez que tout le fichier a été chargé lors de l'utilisation de cette astuce.
Vim peut très bien gérer les fichiers volumineux. Je viens d'éditer un fichier de 3,4 Go, de supprimer des lignes, etc. Trois choses à garder à l'esprit:
:115355
saisie vous amènera directement à la ligne 115355, qui est beaucoup plus rapide dans ces gros fichiers. Vim semble commencer à analyser depuis le début à chaque fois qu'il charge un tampon de lignes, et maintenir la touche Ctrl-F enfoncée pour parcourir le fichier semble devenir très lent vers la fin.Remarque - Si votre instance Vim est en lecture seule parce que vous appuyez sur Ctrl-C, il est possible que Vim n'ait pas chargé le fichier entier dans le tampon. Si cela se produit, son enregistrement ne sauvegardera que ce qui se trouve dans la mémoire tampon, pas le fichier entier . Vous pouvez vérifier rapidement avec un
G
pour passer à la fin pour vous assurer que toutes les lignes de votre fichier sont présentes.la source
Ce sont peut-être des plugins qui le font s'étouffer. (coloration syntaxique, plis, etc.)
Vous pouvez exécuter vim sans plugins.
C'est minimaliste mais cela vous donnera au moins les mouvements de vi auxquels vous êtes habitué.
en est une autre évidente. Taillez votre installation et trouvez ce dont vous avez besoin. Vous découvrirez de quoi il est capable et si vous devez accomplir une tâche par d'autres moyens.
la source
Une légère amélioration par rapport à la réponse donnée par @Al pachio avec la solution split + vim, vous pouvez lire les fichiers avec un glob, en utilisant efficacement des morceaux de fichiers comme tampon, par exemple
la source
Vous voudrez peut-être consulter ce plugin VIM qui désactive certaines fonctionnalités de vim dans l'intérêt de la vitesse lors du chargement de fichiers volumineux.
la source
J'ai essayé de le faire, principalement avec des fichiers d'environ 1 Go lorsque je devais apporter de petites modifications à un vidage SQL. Je suis sous Windows, ce qui en fait une douleur majeure. C'est vraiment difficile.
La question évidente est "pourquoi en avez-vous besoin?" Je peux vous dire par expérience d'avoir essayé cela plus d'une fois, vous voulez probablement vraiment essayer de trouver un autre moyen.
Alors, comment faites-vous cela? Il y a plusieurs façons de procéder. Parfois, je peux obtenir vim ou nano pour ouvrir le fichier et je peux les utiliser. C'est une douleur vraiment difficile, mais cela fonctionne.
Lorsque cela ne fonctionne pas (comme dans votre cas), vous n'avez que quelques options. Vous pouvez écrire un petit programme pour apporter les modifications dont vous avez besoin (par exemple, rechercher et remplacer). Vous pouvez utiliser un programme en ligne de commande capable de le faire (peut-être que cela pourrait être accompli avec sed / awk / grep / etc?)
Si cela ne fonctionne pas, vous pouvez toujours diviser le fichier en morceaux (quelque chose comme split étant le choix évident, mais vous pouvez utiliser head / tail pour obtenir la partie que vous voulez), puis éditer la ou les parties qui en ont besoin, et recombinez plus tard.
Croyez-moi cependant, essayez de trouver un autre moyen.
la source
Je pense qu'il est assez courant pour les éditeurs hexadécimaux de gérer des fichiers volumineux. Sous Windows, j'utilise HxD , qui prétend gérer des fichiers jusqu'à 8 EB (8 milliards de gigaoctets).
la source
hexedit
J'utilise vim 7.3.3 sur Win7 x64 avec le plugin LargeFile de Charles Campbell pour gérer des fichiers texte brut de plusieurs gigaoctets. Cela fonctionne vraiment bien.
J'espère que vous venez bien.
la source
Wow, je n'ai jamais réussi à faire étouffer vim, même avec un Go ou deux. J'ai entendu dire qu'UltraEdit (sur Windows) et BBEdit (sur Mac) sont encore plus adaptés pour des fichiers encore plus volumineux, mais je n'ai aucune expérience personnelle.
la source
Dans le passé, j'ai ouvert un fichier de 3 gig avec cet outil http://csved.sjfrancke.nl/
la source
Personnellement, j'aime UltraEdit . Voici leur petit spiel sur les gros fichiers .
la source
J'ai utilisé l'éditeur / visualiseur intégré de FAR Commander pour les fichiers journaux de très grande taille.
la source
J'ai utilisé TextPad pour les gros fichiers journaux, il n'a pas de limite supérieure.
la source
La seule chose que j'ai pu utiliser pour quelque chose comme ça est mon éditeur hexadécimal Mac préféré, 0XED. Cependant, c'était avec des fichiers que je considérais comme volumineux à des dizaines de mégaoctets. Je ne sais pas jusqu'où cela ira. Je suis à peu près sûr qu'il ne charge que des parties du fichier en mémoire à la fois.
la source
Dans le passé, j'ai utilisé avec succès une approche de fractionnement / édition / jointure lorsque les fichiers deviennent très volumineux. Pour que cela fonctionne, vous devez savoir où se trouve le texte à modifier dans le fichier d'origine.
la source