OVH Cloud OVH Cloud

Rechercher Remplacer dans un gros fichier

5 réponses
Avatar
Magasin DSL
J'ai un gros fichier text constitué d'environ 60 000 blocs du type
[Event "ts26#11"]
[Site "?"]
[Date "1893.??.??"]
[Round "?"]
[White "Drtina, J."]
[Noirs "[+3101.24c1c8]"]
[Result "1-0"]
[SetUp "1"]
[FEN "2k5/p3p2q/Pp2N2p/7P/8/8/8/2K2R2 w - - 0 1"]
[PlyCount "7"]
[EventDate "1893.??.??"]
[Source "ChessBase"]
[SourceDate "2000.10.30"]
1. Rf4 $3 b5 $1 (1... Qd3 2. Rf8+ Kd7 3. Rd8+) 2. Rf2 $1 b4 (2... Qd3 3.
Rf8+
Kd7 4. Nc5+) 3. Rc2+ Kb8 (3... Kd7 4. Nf8+) 4. Rd2 1-0



Je voudrais éliminer toutes les lignes autres que celles qui commencent par
[Noirs ...]

Je voulais utitliser Word mais Word se plante en tentant d'ouvrir le fichier
(qui fait environ 30Mo).

Quelqu'un pourrait-il me donner un tuyau?



Merci




--
Faites que le rêve dévore votre vie afin que la vie ne dévore pas votre
rêve.
[Antoine de Saint Exupéry]
email : Dalip at ifrance.com
http://perso.wanadoo.fr/jmrw/

5 réponses

Avatar
Geo
Bonjour Magasin DSL


[...]

Je voudrais éliminer toutes les lignes autres que celles qui
commencent par [Noirs ...]

Je voulais utitliser Word mais Word se plante en tentant d'ouvrir le
fichier (qui fait environ 30Mo).


La limite de Word est de 32 MO,
donc tout dépend de la taille des MO, mais manifestement tu es à la
limite, ce serait intéressant de savoir que tu as eu comme plantage.
Je tenterais bien le coup avec le bloc-notes,
Sous Windows XP il peut gérer de gros fichier,
un tri et deux coupes et c'est fait.
Il faut sans doute être un peu patient.
Autre solution : une base de données.
En FoxPro on fait ça en deux coups de cuiller à pot.

--

A+

Avatar
Anacoluthe
Bonjour !

'Magasin DSL' nous a écrit ...
J'ai un gros fichier text constitué d'environ 60 000 blocs du type
[Event "ts26#11"]
...
Je voudrais éliminer toutes les lignes autres que celles qui commencent par
[Noirs ...]
Je voulais utitliser Word mais Word se plante en tentant d'ouvrir le fichier
(qui fait environ 30Mo).


Si Word ne peut pas ouvrir le fichier, on est... Echec et Mat !
Si vous ne trouvez pas un utilitaire pour découper ce gros
fichier texte en fichiers plus petits (bloc-notes ?),
Word ne vous sera pas utile même si une opération
de Rechercher répondrait à la question :
Caractères génériques - Rechercher: [Noirs*^013
Surligner tous les éléments - copier dans un autre document

A la limite on pourrait imaginer une macro qui lise (ReadLine)
ligne par ligne ce gros fichier et écrive (WriteLine) dans
un autre les lignes qui vous intéressent. Mais bon, c'est plus
vraiment du Word ça. VB VBScript ou Excel peuvent le faire aussi.

Anacoluthe
« Au jeu d'échecs, les fous sont les plus près du roi. »
- Proverbe français

Avatar
Clément Marcotte
Faire une fusion dans Word avec requête qui donne juste les lignes qui
commencent par noir

Enregistrer nouveau fichier

zigouiller l'ancien

Ou


Ouvrir le fichier dans Excel

Filtre élaboré avec extraction dans un nouvel emplacement

enregistrer le résultat du filtre

Ne pas oublier que les bénévoles qui sont ici ne sont pas différents
des commerçants. Ils n'aiment pas les gens qui ne disent pas bonjour
et merci
Avatar
Magasin DSL
Clément Marcotte a dit

Ne pas oublier que les bénévoles qui sont ici ne sont pas différents
des commerçants. Ils n'aiment pas les gens qui ne disent pas bonjour
et merci



Est-ce une signature ou cela s'adresse-t-il à moi?

J'ai posé ma question en mettant "Merci"

Et je rends compte des résultats donnés par les conseils donnés.
(Mais pour cela il me faut le temps de les tester.)

Pour le cas présent.:

J'ai essayé différentes solution avec Word, Excel et même Access.

Le plus faisable me semble être de tronquer mon fichier original en morceaux
de façon à ce que chacun ne dépasse pas 65536 lignes ( j'ai environs
58000*15 lignes dans le fichier de départ donc je ferai environ 15 morceaux)

Puis une fois sous Excel la chose est facile. Ensuite il suffit de
récapituler les résultats.

Word arrive effectivement à ouvrir les morceaux mais je n'arrive pas à faire
fonctionner correctement la fonction Rechercher etc.

Un grand merci




--
Faites que le rêve dévore votre vie afin que la vie ne dévore pas votre
rêve.
[Antoine de Saint Exupéry]
email : Dalip at ifrance.com
http://perso.wanadoo.fr/jmrw/

Avatar
Clément Marcotte
Le plus faisable me semble être de tronquer mon fichier original en
morceaux

de façon à ce que chacun ne dépasse pas 65536 lignes ( j'ai environs
58000*15 lignes dans le fichier de départ donc je ferai environ 15
morceaux)


Pas vraiment besoin de le faire à la mitaine:

http://perso.wanadoo.fr/frederic.sigonneau/code/Formats/ImportVeryBigTextFile.txt


http://perso.wanadoo.fr/frederic.sigonneau/code/Formats/ImportVeryBigTextFile2.txt