122 votes

Éditeur de texte pour modifier un fichier texte brut de grande taille (4,3 Go)

Existe-t-il un éditeur de texte permettant de modifier ce type de fichier ?

J'ai essayé :

  • gedit
  • kate
  • nano
  • vim
  • mcedit

sans succès.

111voto

Nate Points 3229

Une autre méthode est d'utiliser split . Divisez le fichier en 8 morceaux et manipulez les fichiers avec un éditeur. Après cela, vous réassemblez les fichiers à nouveau.

split -b 53750k <your-file>

cat xa* > <your-file>

SYNOPSIS
       split [OPTION]... [INPUT [PREFIX]]

-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

55voto

sierrasdetandil Points 2571

Essayez joe . Je viens de l'utiliser pour modifier un fichier dump SQL de ~5G. Il m'a fallu environ une minute pour ouvrir le fichier et quelques minutes pour le sauvegarder, avec une très faible utilisation du swap (sur un système avec 4G de RAM).

20voto

Nate Points 3229

Vous ne les trouverez pas. Si vous voulez remplacer certaines lignes dans ce fichier, vous pouvez regarder avec less ou grep et utiliser sed pour rechercher et remplacer certaines lignes.

comme ça :

sed -e 's/oldstuff/newstuff/g' inputFileName > outputFileName

sur Wikipedia sont des exemples utiles : http://en.wikipedia.org/wiki/Sed

16voto

Peter Hilton Points 10580

Essayez, si vous le souhaitez, mais des fichiers aussi volumineux ne sont pas pratiques si vous voulez faire de l'édition "normale" ; par exemple, vous ne voulez pas sauvegarder vos éditions trop souvent ; cela prendrait trop de temps :)

Si c'est pour une fois, split y join fonctionnerait très bien, et il est assez simple de le découper en morceaux maniables, puis de recoller les morceaux... Notez que de nombreux éditeurs ajoutera un caractère de nouvelle ligne à la fin de votre fichier édité, et faites-le sans vous en informer ! Pour plus d'informations, voir Comment empêcher Gedit, Gvim, Vim, Nano d'ajouter le caractère de fin de fichier (newline) ?

Essayez Gvim si vous voulez vraiment éditer un si gros fichier.... Je viens de charger un fichier de 3,9 Go dans ce programme, et tout semble normal...

Voici un lien intéressant sur la question, à l'adresse suivante stackoverflow

14voto

Andrew Zhilin Points 359

Il existe un autre moyen très simple et rapide de remplacer le contenu dans de très gros fichiers (ce qui fonctionne au lieu d'éditer de gros dumps mysql)

Tout d'abord, vous devez installer minuit comander - un excellent gestionnaire de fichiers pour les systèmes linux.

sudo apt-get install mc

Après cela, vous pouvez ouvrir n'importe quel fichier de n'importe quelle taille en "mode visualisation" (avec le raccourci F3), passer à la vue HEX (raccourci F4) et activer le mode édition (raccourci F2).

Par exemple, j'ai un dump mysql de 3 Go, où je veux supprimer certaines lignes SQL. J'ouvre le mode affichage, je trouve la chaîne de caractères, j'ouvre le mode hexadécimal et je remplace le contenu avant la ligne nécessaire par un commentaire MYSQL (chaîne de caractères "-- ", codes hexadécimaux 2D 2D 20).

Exemple : mc hex view

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