Re: Ouvrir un ENORME fichier xml

Top Page

Reply to this message
Author: Patrice Karatchentzeff
Date:  
To: alain.dieudonne
CC: guilde
Subject: Re: Ouvrir un ENORME fichier xml
Salut Alain,

Mon expérience de ce genre de truc, pour avoir eu à ouvrir des énormes
fichiers texte il y a une vingtaine d'années...

1) t'as de la chance et tu trouves un éditeur de texte qui le
permette. La plupart ont une limite assez basse par défaut et quand tu
es chanceux, cette limite est basée sur l'integer de base. Donc en
gros, tu peux espérer taper du 2 ou 4 Go max. À l'époque, vi tapait
bas et vim tapaient du 2/4 Go. Emacs avec un « minable » buffer d'une
centaine de méga-octets... Eh oui, les informaticiens n'ont pas
l'habitude de travailler avec des gros fichiers : quelques dizaines de
milliers de lignes et ils ont l'impression que c'est déjà le bout du
monde !

Sur les UNIX proprio (à l'époque Solaris), par chance, l'éditeur de
base (tout pourri) était compilé avec un integer de 64 bits, donc
pouvait tout ouvrir. C'était pourri, mais ça fonctionnait ! ®

Une autre solution consistait à recompiler les outils pratiques
(Emacs, VIM) en changeant la taille du tampon de base... C'est en
général pas trop sorcier, car on trouve cette information dans les
fichiers de base assez rapidement (pourquoi cela n'est pas fait par
défaut m'échappe complètement, étant donné que cela ne coûte en
réalité rien... et déjà à l'époque).

Un truc hyper important : quoi que tu arrives à faire avec un outil
avancé (Emas, Vim), il te faut désactiver le bling-bling de mise en
relief, comme la couleur. C'est invisible en temps de calcul pour
quelques milliers de lignes, mais c'est insupportable long à traiter
pour des gros fichiers (comme ce n'est pas optimisé (hé oui, petit
fichier seulement !), le calcul peut facilement dérivé en temps
exponentiel...).

2) t'as pas de chance et tu dois traiter à la main. Là, tu as deux outils :

- les outils de base UNIX, donc grep et sed/awk. C'est rapidement
coton pour des fichiers complexes, en plus d'avoir des performances
assez moyennes.
- un outil qui sait tout faire bien et rapidement : j'ai nommé la
Rolls des couteaux Suisse : Perl.

Évidemment, le second a un coût : tu dois un peu apprendre à t'en
servir (et dépasser les commentaires de base de tous les
désillusionnés de l'informatique qui pensaient qu'il suffit de se
proclamer informaticien pour programmer :) ). En vérité, si tes
besoins sont modestes, avec 2 ou 3 unilignes et la bibliothèque ad
hoc, tu devrais pouvoir t'en sortir.

https://articles.mongueurs.net/magazines/linuxmag50.html

Bon courage,

PK

Le sam. 4 janv. 2025 à 23:43, Alain <alain.dieudonne@???> a écrit :
>
> Bonsoir,
>
> j'ai utilisé SMSbackup pour sauvegarder les SMS de mon téléphone.
> Il a généré un énorme fichier XML de 2.6Go !
> J'ai besoin d'aller piocher des données dans cet énorme fichier mais je
> ne trouve rien qui puisse l'ouvrir:
>
> - Firefox (qui généralement lit le xml) plante
> - Libreoffice (calc et writer) fait semblant de travailler pendant un
> petit moment et finit par ouvrir une page blanche ou n'importe rien
> (j'ai essayé les 2 méthodes).
> - Mousepad plante
> - Gedit a chargé beaucoup de lignes mais a fini par planter à environ
> 80% aprés 2 jours d'import non stop. (ce n'est pas la RAM qui a limité
> Gedit)
>
>
> Une idée?
> Je peux essayer de couper le fichier en plusieurs morceaux? (et tant
> pis pour les données aux coupures)
>
> Merci d'avance
>



-- 
      |\      _,,,---,,_           Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:patrice.karatchentzeff@gmail.com
     |,4-  ) )-,_. ,\ (  `'-'
    '---''(_/--'  `-'\_)