begin process at 2012 02 10 21:32:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Shell

 > 

Supprimer les doublons d'un fichier texte ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Supprimer les doublons d'un fichier texte ?

jeudi 27 novembre 2008 à 17:31:27 | Supprimer les doublons d'un fichier texte ?

chtitpierre78

Bonjour,

Je vient de coder un petit programme en C++, qui me permet de supprimer les doublons de mon fichier texte (qui contient près de 200000 lignes). Le problème c'est que c'est vraiment très très lent. Je crois me souvenir qu'il existe une commande Linux qui permet de faire ça tout seul, un truc du genre "sort -u in.txt > out.txt" !
Bon, tout ça c'est bien sympa, mais je bosse sous Windows. Je me demande donc si il n'existe pas un equivalent windows ?

Cordialement

K. Pierre
jeudi 27 novembre 2008 à 18:00:05 | Re : Supprimer les doublons d'un fichier texte ?

fregolo52

Membre Club
Salut,

Tu fais erreur, la commande "sort" existe sous Windows.
Je viens de faire un text avec un fichier qui contient les noms des pays, ça à l'air de marcher :
sort pays.txt > pays2.txt

Ouvre une fenêtre DOS et tape : help sort.
jeudi 27 novembre 2008 à 18:34:51 | Re : Supprimer les doublons d'un fichier texte ?

chtitpierre78

Effectivement, cette commande existe bel et bien sous DOS, mais elle ne semble pas remplir la meme fonction que sous Linux. La seul chose que j'ai reussie a faire avec cette commande là, c'est reorganiser mon fichier par ordre alphabetique. De plus, l'aide n'indique rien concernant les doublons ... :(
jeudi 27 novembre 2008 à 19:45:04 | Re : Supprimer les doublons d'un fichier texte ?

BruNews

Administrateur CodeS-SourceS
Par "doublon", tu entends ligne complète ?

ciao...
BruNews, MVP VC++
jeudi 27 novembre 2008 à 19:59:32 | Re : Supprimer les doublons d'un fichier texte ?

chtitpierre78

Oui, j'entend ligne compléte. Voila a quoi ressemble mon fichier :

C:\Program Files\toto\a.exe
C:\Program Files\tata\b.exe
C:\Documents and Settings\tutu\moi.jpg
C:\Program Files\toto\a.exe
C:\test.mp3
...

Donc de temps en temps, j'ai 2 chemins qui sont identiques. Comme ici avec "C:\Program Files\toto\a.exe" qui apparait 2 fois. Je souhaiterais donc supprimer ce doublon, pour ne voir apparaire cette ligne qu'une fois. J'ai bien un petit programme en C++ qui me fait, mais ca prend des heures (des vrais heures, celle de 60 minutes hein !  ) ... !

Cordialement

K. Pierre
 

jeudi 27 novembre 2008 à 20:03:58 | Re : Supprimer les doublons d'un fichier texte ?

BruNews

Administrateur CodeS-SourceS
OK, j'ai un creux dans l'emploi du temps.
Vois si tu peux zipper un fichier exemple (super BIG, genre 200 000 lignes) et le mettre sur un FTP pour que je puisse tester les perfs en situation réelle.
PS: Pas envie de me burner avec la casse, sera case sensitive.

ciao...
BruNews, MVP VC++
jeudi 27 novembre 2008 à 21:06:34 | Re : Supprimer les doublons d'un fichier texte ?

chtitpierre78

Bah en fait, un simple "dir /b /s >  tonfichier.txt" dans la console DOS suffit. Je fait comme ca pour tester. Tu prends 10 ou 20 lignes au pif dans le fichier de sortie, tu copies / colles ici et la dans le fichier, tu obtiens a peu de chose prés mon cas de figure. Actuellement ma procedure en C++ est la suivante :

- Lecture d'une ligne de mon fichier liste
   - Je regarde si la ligne lue est presente dans mon fichier de sortie (celui où chaque ligne sera unique)
      - Si elle n'est pas presente, je l'ecris dans ce fichier de sortie et je passe la la ligne suivante de ma liste
      - Si elle est presente, je n'ecris rien et je passe a la ligne suivante de ma liste

Je ne pourrais poster mes sources que demain, le tout est au boulot ;)

Cordialement

K. Pierre

jeudi 27 novembre 2008 à 21:14:47 | Re : Supprimer les doublons d'un fichier texte ?

BruNews

Administrateur CodeS-SourceS
Laisse tomber tes sources, en heures pas utile...
Je vais tester sur petit et je te dirai quand sera dispo, tu testeras en situation réelle.

ciao...
BruNews, MVP VC++
jeudi 27 novembre 2008 à 22:31:41 | Re : Supprimer les doublons d'un fichier texte ?

BruNews

Administrateur CodeS-SourceS
http://brunews.com/LignDbl.zip

exe de 2.5 Ko dans le zip.
J'ai juste testé sur petit fichier, tu nous diras si va bon je donnerai le code.

ATTENTION: il faut mettre le fichier à traiter dans dossier du exe et le nommer a.txt, si tout ok on mettra le nom de fichier en param de la fonction (ou de l'exe).

ciao...
BruNews, MVP VC++
jeudi 27 novembre 2008 à 22:32:42 | Re : Supprimer les doublons d'un fichier texte ?

BruNews

Administrateur CodeS-SourceS
OUPS,
oublié de préciser que le fichier est refait sur place, pas de fichier 2 de fait.

ciao...
BruNews, MVP VC++

1 2

Cette discussion est classée dans : fichier, texte, supprimer, permet, doublons


Répondre à ce message

Sujets en rapport avec ce message

Supprimer les espaces dans un fichier texte!!! [ par salley ] Voila j'ai un fichier texte avec plein de chiffres et entre chaque chiffre 5 espaces, j'aimerais le modifier :1/ J'aimerais enlever les 50 premiers ca gestion de Fichier texte [ par aciid_washor ] Bonjour, j'ai créé un programme qui me sert d'annuaire. L'annuaire en question est ecrit sous forme d'un fichier texte:nom telephonedéclarés comme s supprimer les balises d'un fichier texte [ par mervat ] bonjour, j'ai un fichier texte plein de balises telles que ( , , etc.) je veux les éliminer toutes pour avoir comme résultat seulement le texte. ya fichier texte et enregistrement [ par brell ] bon jour! comment je fait pour enregistrer un texte, entrer par le clavier et fini par un caractere spéciale,ligne par ligne dans fichier texte en lan Fichier Texte, Affichage et TEMPS RÉEL [ par proggen ] Bonjour, je veut coder un prog en temps réel. Celui-ci doit traiter des informations arrivant à chaque 0.25 secondes dans un fichier texte et ensuite Supression de chaine dans un fichier [ par Ctimi ] Bonjour à tous ! Je galère grave a rechercher une chaine de caractère dans un fichier et de la supprimer en langage C.... Mon but est d'entrer un nom numéroter les phrases d'un fichier texte et les réécrire dans un autre fichier [ par mervat ] bonjour, les instructions ci dessous me permettent en principe de copier un fichier texte dans un autre fichier en numérotant ses phrases, [code=cpp] éliminer les mots vides d'un fichier texte [ par mervat ] bonjour, j'ai un petit truc qui me bloque, je veux éliminer du fichier texte in les mots qui existent dans le fichier texte motvide et mettre le résul Récupération d'un mot aléatoire depuis un fichier texte [ par Mornaloce ] Bonjour à tous. Voilà je vous explique mon problème. J'aimerais faire un petit programme qui permet de récupérer un mot aléatoirement dans un fichier Supprimer des doublons dans un tableau [ par aurel_67_1 ] Bonjour, je voudrais savoir, comment faire pour supprimer des doublons dans un tableau non trié en C ? t = {1,3,4,2,5,4,5} Doublons à supprimer :


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,454 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales