Comparaison de 2 fichiers ?

Comparaison de 2 fichiers ? - Programmation

Marsh Posté le 08-08-2001 à 10:27:58    

Salut,
J'ai un problème, j'ai deux fichiers (.doc) contenant du texte et beaucoup de chiffres et j'aimerai comparer ces deux fichiers pour connaitre les chiffres qui se répètent et surtout ceux qui sont dans un fichier mais pas dans l'autre.
J'aimerai savoir comment faire connaissant que le C (sommairement) ou sinon s'il existe un programme le faisant à ma place.
Merci.

Reply

Marsh Posté le 08-08-2001 à 10:27:58   

Reply

Marsh Posté le 08-08-2001 à 10:34:49    

en DOS y a la commande fc ...


---------------
All we need is a soul revolution
Reply

Marsh Posté le 08-08-2001 à 11:06:02    

ok pour FC, mais il ne me dit pas quelles sont les chiffres qui apparaissent dans le fichier1 et pas dans le fichier2.
ex.
_dans le fichier1 j'ai:
001
002
003
_dans le fichier2 j'ai :
001
002
 
J'aimerai qu'il me dise, "il manque le chiffre 003"

Reply

Marsh Posté le 08-08-2001 à 12:59:42    

C'est pas trivial du tout, car les fichiers Word sont binaires. On y voit un peu d'ASCII de temps en temps (sous éditeur HEXA) car il faut coder les tableaux, les polices de caractères, les tailles, gras, italique, mise en page, etc...
 
Si on veut savoir si dans un fichier on a  
001
002
003
004
006
et que dans l'autre on a oublié le 003 mais qu'il y a 005 en plus, vu les décalages, difficile de s'y retouver !!
001
002
004
005
006
 
FC donnerait des choses "localement", mais si on suppose avoir juste une chaîne manquante, tous les octets suivants seront différents (et dans les vieux vieux DOS, FC ne comparait QUE DES FICHIERS DE MEME TAILLE !).  :(

Reply

Marsh Posté le 08-08-2001 à 13:11:13    

de tres nombreux programmes qui font ca existent
une fois j'en ai teste un, c'etait celui de Symantec fourni avec Norton Utilities je crois
il etait vachement bien
il detectait les blocs introduits dans un fichier par rapport a un autre, le tout en couleurs ...
cet utilitaire est un outil courant des hackers et tu va avoir aucun mal a en trouver un
en plus pas mal de monde s'amuse a en faire un, c'est comme les porgrammes de decoupage de fichier
mais y'en a qui sont plus aboutis que d'autres


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-08-2001 à 13:16:59    

Il faut qu'il l'exporte d'abord en ASCII !  :)  
 
Il y a des programmes dédiés aux comparaison de fichiers Source pour les programmeurs distraits qui ont plus d'une version de leurs fichiers pour voir ce qui a été changé. Ca existe.

Reply

Marsh Posté le 08-08-2001 à 13:32:22    

je viens de tester ce shareware (60 jours de limitation ...)
il a l'air bien
http://www.funduc.com/file_merge_express.htm


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-08-2001 à 13:40:58    

j'ai relu ton post et en fait tu veux juste avoir une liste des chiffres qu'il y a dans un fichier et leur nombre d'apparition ?
ben commence par faire "enregister sous ... texte brute" (ce ke te dit CARBON_14)
 
si tu veux le faire en C : dit nous d'abord comment sont enregistres les chiffres (des nombres je suppose) et leur taille
si tu peux facilement (a partir de enregistrer sous ... puis a la main) supprimer ton texte et creer 2 fichiers qui ne contiennent plus que 1 liste de nombre (pas trop grands) avec un nombre par ligne ou alors un separateur particulier (un espace ou une tabulation par exemple) entre eux alors c'est facilement et rapidement faisable en C
 
tout depend du type des nombres (taille, signe, décimaux ?) et de la possibilite de creer 2 listes de nombres sans texte supperflu


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-08-2001 à 13:44:12    

pour comparer des fichiers txt ou binaires, Ya Ultra-Edit qui est très bien


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 08-08-2001 à 13:45:15    

y'a des chouette editeur de text comme Ultraedit  ou nc qui compare des fichiers !

Reply

Marsh Posté le 08-08-2001 à 13:45:15   

Reply

Marsh Posté le 08-08-2001 à 14:21:42    

ok,
j'essaierai de me bébrouiller avec un logiciel.
En gros pour résumer j'ai ceci :
 
"Analyse systématique du volume (3-15) étape 1" (fichier1)
 
et j'aimerai voir si le chiffre "3-15" est inclu ou non dans ça :
 
"acte 1-7, 1-12, 1-13, 1-14, 1-15, 1-18, 1-19, 1-20, 1-21, 1-37, 1-38, 1-39, 1-40, 1-41, 1-42, 1-43, 1-44, 1-51, 1-52, 1-53" (fichier2)
 
Mon problème c'est que j'en ai 60 pages de chiffres, donc je préfère le mettre en automatique que de tout faire à la main ce que j'avais commencé.
 
Et mon but c'est d'avoir à la fin une suite de chiffres qui restent (ceux n'apparaisssant pas dans le fichier1), pour pouvoir ensuite les supprimer.
 
Et merci encore à ceux qui m'ont répondu.

Reply

Marsh Posté le 08-08-2001 à 14:41:52    

Si la structure du fichier est bien régulière, par exemple
"Analyse systématique du volume (3-15, 1-25) étape 1" (fichier1)
ou  
"Analyse systématique du volume (3-15)(1-25) étape 1" (fichier1)  
 
et que
"acte 1-7, 1-12, 1-13, 1-14, 1-15, 1-18, 1-19, 1-20, 1-21, 1-37, 1-38, 1-39, 1-40, 1-41, 1-42, 1-43, 1-44, 1-51, 1-52, 1-53" (fichier2)
 
a toujours la même morphologie (commence par "acte suivi d'un espace, etc... etc..., cela doit pouvoir s'analyser en QBasic, VBasic, C, .. car on peut trouver des repères et extraire les champs cherchés et ceux qui restent après.
 
Je pense qu'il n'y a qu'un programme d'exploration adapté (sur mesures) qui pourra le faire.
 
Avec un éditeur ASCII, on peut chercher "3-15" partout, occurence par occurence et décider s'il faut l'effacer ou non.
S'il y en a 60 pages, fastidieux.
 
C'est pressé ?

Reply

Marsh Posté le 08-08-2001 à 14:48:22    

Ben pressé, un p'tit peu je dois le rendre pour vendredi.
Mais on m'avait dit que sous word ou excel ça pouvait ce faire. En fait si je dois me mettre à programmer une fonction je crois qu'en le faisant à la main j'aurai aussi vite fait.

Reply

Marsh Posté le 08-08-2001 à 15:06:18    

Il y a Edition/chercher. Dans le bloc note aussi. Il y a même Edition/remplacer.
On peut remplacer tous les (3-15) par "" (rien, faut rien mettre dans la case "remplacer par" ).
 
Mais cela se passe dans un même fichier.
 
Les champs "Analyse systématique du volume (3-15) étape 1" et
"acte 1-7, 1-12, 1-13, 1-14, 1-15, 1-18, 1-19" sont dans deux fichiers différents (fich1 et fich2), il faut ouvrir les deux, regarder dans le premier quel est le (-) à éliminer dans le second, et faire un edit/remplacer dans le second avec cette chaîne...

Reply

Marsh Posté le 08-08-2001 à 15:15:14    

je suis d'accord avec toi mais le problème c'est que je n'ai pas que "3-15" à vérifier mais des centaines de chiffres.
"Analyse systématique du volume (3-15) étape 1" (fichier1)  
Ce n'est qu'une ligne sur ma vingtaine de pages. C'est pour cela qu'il me faudrait automatiser cette tache en vérifiant tous les "3-15" ou autre du fichier1 avec les autres chiffres du fichier2.

Reply

Marsh Posté le 08-08-2001 à 15:20:54    

vu comme ca le logiciel va te servir à rien :(
et tes chiffres ils ont toujours cette forme :
 
Analyse systématique du volume (X-XX) étape 1
 
et le 1 de etape 1 on s'en fout ?
est-ce que un couple fait toujours 4 caracteres de long "X-XX" ??
et le debut de la phrase est toujours le meme : "Analyse systématique du volume (" ?
y'a une phrase par ligne ? (fichier1)
 
 
je sais pas c'est pour qui, mais c'est vrai que si c'est des fichiers Word, l'ideal serait une macro ... mais la je peux pas t'aider


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 08-08-2001 à 15:21:45    

et y'a à chaque ligne :
 
"analyse systématique..."  ???
 
commence par virer toute la phrase sauf le 3-15
dans word remplacer "analyse...volume" par ""
 
tu sauve en mode text
exporte dans excel
 
fait pareil avec le fichier deux
 
 
puis sur excel tu colle le fichier1 dans un feuille
et fichier2 dans une autre
avec rechercheV et rechercheH sur sucre les doublons

Reply

Marsh Posté le 08-08-2001 à 16:27:38    

Toutes les phrases sont différentes et les chiffres vont de X-X à X-XXX. On ne s'ocuupe que de ces chiffres et pas du reste. Et il peut y avoir plusieurs phrases par ligne.
Là j'ai supprimer tous les mots du texte et j'essai de faire la comparaison sous word.
louisebrooks -> je vais essayer ta méthode

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed