Suppression de lignes identique de deux fichiers dans le desordr

Fermé
JB - 10 sept. 2014 à 15:39
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 10 sept. 2014 à 16:21
Bonjour,
j'ai deux fichiers fichier.txt et inversefichier.txt

nano fichier.txt donne :
12,13
12,14
13,12

nano inversefichier.txt donne :
13,12
14,12
12,13

MON BUT est supprimer dans l'un des fichiers les lignes identiques et laisse la ligne qui n'est n'a pas d'occurrence dans l'autre fichiers
PS : les deux fichiers ont la même taille ( evident ) et ont a peu pres 6500 lignes

A voir également:

1 réponse

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 10/09/2014 à 16:24
Salut JB,

Ce n'est pas clair, en particulier sur la comparaison ("identique" à quoi) et sur le fait qu'il ne paraisse évident que les deux fichiers aient le même nombre de lignes (alors qu'il sont différents selon toi), sur la question de savoir s'il peut y avoir des lignes dupliquées dans les fichiers 1 et 2 et ce qui arrive dans les différents cas.

Bref, si tu veux :

- à partir du fichier 1 noter toute les lignes comportant une information unique
- à partir du fichier 2 voir si chaque ligne comportant une information unique de ce fichier 2 apparaît au moins une fois dans une ligne au moins du fichier 1
- et :
----- si oui, ne pas afficher cette ligne ;
----- si non, afficher cette ligne (et ne l'afficher qu'une seule fois, au cas où elle est répétée dans le fichier 2)

Tu peux faire cela :

- en lisant le fichier 1 de sorte à mettre les lignes du fichier 1 dans un hash, dont la clef est la valeur des lignes
- en lisant le fichier 2 en testant si chaque ligne est une clef existante du hash, et si ce n'est pas le cas de l'afficher et l'ajouter au hash (afin qu'au cas où elle est dupliquée au fichier 2, elle ne soit affichée qu'une fois)

Si ce n'est pas ce que tu veux faire, explique plus précisément stp, en donnant un exemple avec des données de départ représentatives des différent cas à traiter et la sortie souhaitée.


Dal
0