[Résolu]Supprimer les doublons d'une liste
9 messages
• Page 1 sur 1
-

salva - WRInaute accro

- Messages: 4278
- Inscription: 16 Avr 2006
[Résolu]Supprimer les doublons d'une liste
Bonjour,
Je suis à la recherche d’une solution efficace pour supprimer les doublons dans une liste d’url (une url par ligne dans un fichier texte).
J’ai tenté avec Excel (filtre élaboré > extraction sans les doublons) mais le résultat n’est pas probant.
Auriez-vous une solution dans vos cartons ?
Merci.
Je suis à la recherche d’une solution efficace pour supprimer les doublons dans une liste d’url (une url par ligne dans un fichier texte).
J’ai tenté avec Excel (filtre élaboré > extraction sans les doublons) mais le résultat n’est pas probant.
Auriez-vous une solution dans vos cartons ?
Merci.
Dernière édition par salva le Mer Avr 01, 2009 12:15, édité 1 fois.
-

ortolojf - WRInaute passionné

- Messages: 1676
- Inscription: 14 Aoû 2002
Re: Supprimer les doublons d'une liste
Bonjour
Faut trier d'abord...
Sinon, l'algorithme aura une durée O(n2) ( durée d'exécution proportionnel au carré du nombre d'éléments. )
Tu peux trier un fichier sous Linux/Unix, avec la commande Shell: sort , et éliminer les doublons automatiquement, en spécifiant le paramètre -u
Faire un 'man sort' avant pour s'informer des paramètres de critères de tri ( alphabétiques, numériques, emplacement dans chaque lignes du fichier, etc... )
Bien à vous.
Amicalement.
Jean-François Ortolo
Faut trier d'abord...
Sinon, l'algorithme aura une durée O(n2) ( durée d'exécution proportionnel au carré du nombre d'éléments. )
Tu peux trier un fichier sous Linux/Unix, avec la commande Shell: sort , et éliminer les doublons automatiquement, en spécifiant le paramètre -u
Faire un 'man sort' avant pour s'informer des paramètres de critères de tri ( alphabétiques, numériques, emplacement dans chaque lignes du fichier, etc... )
Bien à vous.
Amicalement.
Jean-François Ortolo
-

salva - WRInaute accro

- Messages: 4278
- Inscription: 16 Avr 2006
Re: Supprimer les doublons d'une liste
ortolojf a écrit:Faire un 'man sort' avant pour s'informer des paramètres de critères de tri ( alphabétiques, numériques, emplacement dans chaque lignes du fichier, etc... )
Déjà testé avec
- Code: Tout sélectionner
sort -u /tmp/test/doublons.txt > /tmp/test/propres.txt
Mais il me reste toujours des doublons.
-

ortolojf - WRInaute passionné

- Messages: 1676
- Inscription: 14 Aoû 2002
Re: Supprimer les doublons d'une liste
salva a écrit:ortolojf a écrit:Faire un 'man sort' avant pour s'informer des paramètres de critères de tri ( alphabétiques, numériques, emplacement dans chaque lignes du fichier, etc... )
Déjà testé avec
- Code: Tout sélectionner
sort -u /tmp/test/doublons.txt > /tmp/test/propres.txt
Mais il me reste toujours des doublons.
Bonjour...
Il manque les paramètres de sort, pour spécifier les critères de tri.
Je le dis et le répète: Faire 'man sort' pour se renseigner sur tous les paramètres.
D'autre part, il suffit qu'un critère de tri sur deux lignes différentes ait une seule différence d'un seul caractère, pour être considérés comme différents.
Donc méfiance...
Bien à vous.
Amicalement.
Jean-François Ortolo
-

salva - WRInaute accro

- Messages: 4278
- Inscription: 16 Avr 2006
Re: Supprimer les doublons d'une liste
- Code: Tout sélectionner
sort -u -t '/' -k 1,5 /tmp/test/doublons.txt > /tmp/test/propre.txt
Ça fonctionne avec un paramètre de tri par champ
- Code: Tout sélectionner
'/' -k 1,5 (pour mon exemple, à adapter donc où '/' délimite les champs et -k 1,5 pour stipuler la recherche sur le 5ème champ)
Merci messieurs.
Dernière édition par salva le Mer Avr 01, 2009 12:24, édité 1 fois.
-

ortolojf - WRInaute passionné

- Messages: 1676
- Inscription: 14 Aoû 2002
Re: Supprimer les doublons d'une liste
OTP a écrit:Import sql, requête GROUP BY (je crois) et export en .txt ?
Bonjour
Je n'ai pas très bien compris la requête initiale en fait...
Si deux lignes diffèrent ne serait-ce que d'un caractère ( pas seulement les critères de tri ), il ne peut y avoir élimination des doublons, par définition, puisqu'il y a deux lignes différentes.
Même chose pour une requête GROUP BY.
C'est faisble mais lourd... Encore faut-il que les types des champs dans la table importée, soient choisis correctement ( numérique ou alphabétique ).
...Faudrait que Slava nous donne un eexemple de deux lignes consécutives non fusionnées après le tri... On pourrait se faire une idée de ce qui a cloché dans le sort.
A mon avis, il faut faire d'abord les commandes suivantes sous le Shell:
LC_ALL=C
export LC_ALL
Cela définit le charset par défaut des caractères des lignes.
En tout cas, sort ça marche, mais faut consulter 'man sort' pour fixer les paramètres... On n'a rien sans rien.
Il se peut très bien que ces deux lignes consécutives aient de petites différences minimes... Des 0 en tête de nombres, etc...
D'ailleurs, il faut bien traiter les nombres comme des nombres, et le lettres comem des lettres, parfois sans tenir compte de la casse, etc...
Bien à vous.
Amicalement.
Jean-François Ortolo
-

OTP - Modérateur

- Messages: 19532
- Inscription: 16 Déc 2005
Re: Supprimer les doublons d'une liste
ortolojf a écrit: Si deux lignes diffèrent ne serait-ce que d'un caractère ( pas seulement les critères de tri ), il ne peut y avoir élimination des doublons, par définition, puisqu'il y a deux lignes différentes.
Même chose pour une requête GROUP BY.
Je me plante peut-être mais pour moi les doublons sont regroupés (mais ce n'est peut-être pas GROUP BY).
J'utilise cette méthode sur un de mes sites.
Enfin, c'est résolu, c'est le principal.
-

salva - WRInaute accro

- Messages: 4278
- Inscription: 16 Avr 2006
Re: Supprimer les doublons d'une liste
ortolojf a écrit:Si deux lignes diffèrent ne serait-ce que d'un caractère ( pas seulement les critères de tri ), il ne peut y avoir élimination des doublons, par définition, puisqu'il y a deux lignes différentes.
Tous mes doublons étaient strictement identiques à la case et au nombre de caractère près.
Il suffisait juste de filtrer une partie de l'url décomposée en champ (par les "/") et représenté dans mon cas par "1,5" pour le 5ème champ.
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [Résolu] Supprimer les doublons dans un array ?
- Supprimer les doublons en php
- requette supprimer les doublons mysql
- [résolu] supprimer le rewritelog
- script pour créer ou supprimer l'url des pages html aléatoirement depuis une liste de mot
- [Résolu] Dreamweaver > Supprimer tous les liens sur une p
- Aide pour supprimer un noeud XML, PHP 5, DOM [RESOLU]
- resolu : je n'arrive pas a supprimer les sessions dans l url
- [Résolu] problème de liste à puce avec IE
- [résolu] Liste des noms de pays en Allemand
- Google propose en option un lien pour supprimer un site des résultats - 23-09-2005
- Google Calendar API - 20-04-2006
- Google attaqué en justice - 22-10-2002
- Modification de vos sites dans l'annuaire - 16-01-2005
- Outil officiel de suppression de pages de l'index Google - 18-04-2007
- Tutoriel mod_pagespeed en français - 04-11-2010
- Lancement de Mozbot - 27-06-2005
- Fin du programme de parrainages AdSense et prochain réseau d'affiliation Google - 01-07-2008
- Stratégies de mots-clés
Cet outil vous permet de créer à partir de quelques mots-clés une liste d'expressions constituées des mots pris dans tous les ordres possibles. Il sert aux analyses de positionnement et achats de mots-clés. - Lister les sous-domaines
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
