Supprimer les Lignes en Double
Dédupliquez toute liste de texte, log, CSV ou e-mails en un clic. Conserve la première occurrence, tri optionnel, correspondance insensible à la casse.
Supprimer les Lignes en Double - Outil de Déduplication de Texte
Supprimer les Lignes en Double est un déduplicateur au niveau ligne équivalent à l'idiome Unix `awk '!seen[$0]++'` ou `sort -u`, mais avec interface, repli de casse optionnel, suppression des lignes vides optionnelle, et un panneau latéral montrant exactement quels doublons ont été retirés. L'algorithme construit un Set JavaScript avec les clés de ligne canonicalisées (en minuscules si vous désactivez la sensibilité à la casse) et parcourt l'entrée une fois dans l'ordre original, conservant uniquement la première fois où chaque ligne unique apparaît. Cette politique de 'la première occurrence gagne' est importante : contrairement à `sort -u` qui réorganise, cet outil préserve votre ordre d'entrée sauf si vous activez explicitement Trier. Cas d'usage typiques : dédupliquer des listes de destinataires d'e-mail collectées depuis plusieurs newsletters, nettoyer les lignes CSV de clients exportées où le même enregistrement a été chargé deux fois, supprimer les messages d'erreur répétés des fichiers log pour trouver des motifs de panne uniques, consolider des listes de hostnames pour les inventaires Ansible, et dédupliquer les chaînes de traduction avant de fusionner dans un fichier de localisation.
Qu'est-ce qui compte exactement comme 'ligne en double' — les espaces et la casse comptent-ils ?
Par défaut, deux lignes sont considérées en double si leurs séquences de caractères correspondent exactement — les espaces de début et de fin comptent, et la casse compte ('Pomme' est différent de 'pomme'). Basculer l'option de casse vers MAJUSCULES ou minuscules normalise les deux chaînes comparées avant correspondance, donc 'POMME', 'Pomme' et 'pomme' se regroupent en une seule ligne. Pour ignorer aussi les différences d'espaces (' a' vs 'a '), pré-traitez avec un Nettoyeur de Texte ou rognez chaque ligne d'abord.
Quelle copie est conservée quand il y a des doublons — première ou dernière occurrence ?
Toujours la première occurrence. Le parcoureur de déduplication utilise un Set qui enregistre le contenu de la ligne la première fois qu'elle apparaît, et passe chaque ligne identique suivante. Cela compte quand votre entrée a une signification d'ordre — ex. un CSV où la ligne 1 est l'enregistrement canonique et la ligne 7 est un import dupliqué périmé. Si vous avez besoin de conserver la dernière occurrence à la place (courant dans les fusions 'dernière écriture gagne'), inversez d'abord la liste avec l'outil Inverser la Liste, dédupliquez, puis inversez à nouveau.
En quoi cela diffère-t-il de `sort -u`, `awk` ou `uniq` d'Unix ?
`uniq` ne regroupe que les doublons adjacents et exige une entrée triée — les doublons non adjacents survivent. `sort -u` trie et déduplique mais détruit l'ordre original. `awk '!seen[$0]++'` est une déduplication préservant l'ordre et correspond à ce que fait cet outil, mais exige un terminal. 'Supprimer les doublons' d'Excel fonctionne de manière similaire mais est limité par le nombre de lignes et vous enferme sur une plateforme. Cet outil donne le même résultat que l'approche awk avec une interface, plus un panneau de lignes supprimées qu'aucun outil en ligne de commande n'expose.

Que montre réellement l'option 'Afficher les supprimés' ?
Elle produit un panneau séparé listant chaque ligne en double qui a été ignorée, dans l'ordre où elles ont été rencontrées. Chaque entrée affiche le contenu et (lorsque c'est utile) le numéro de ligne d'entrée où elle se trouvait. Cette piste d'audit est essentielle pour les scénarios de conformité — disons nettoyer une base de données clients sous RGPD — afin que vous puissiez prouver qu'une ligne spécifique était un doublon et non des données silencieusement perdues. Cela aide aussi à déboguer les surprises de sensibilité à la casse ('[email protected]' vs '[email protected]').
Cela passe-t-il à l'échelle sur des gros fichiers comme un CSV de 100 000 lignes ?
Oui. La déduplication basée sur Set est en temps moyen O(n) et mémoire ~O(n), donc une liste de 100k lignes se déduplique typiquement en moins de 100 ms sur un ordinateur portable moderne. Le goulot d'étranglement est le textarea du navigateur — au-delà de ~5 Mo de texte collé le collage lui-même peut traîner, mais la déduplication elle-même reste rapide. Pour des fichiers de millions de lignes utilisez Unix : `awk '!seen[$0]++' input.txt > output.txt` fait du streaming sans charger le fichier complet en RAM, et gère des entrées arbitrairement grandes.
L'option 'Supprimer les lignes vides' retire-t-elle aussi les lignes uniquement avec espaces ?
Oui. Lorsqu'elle est activée, les lignes qui sont entièrement vides ou contiennent seulement des caractères d'espace (espaces, tabulations, espaces insécables) sont supprimées avant l'exécution de la déduplication. C'est utile car les lignes vides dans les données CSV se dupliquent souvent entre elles (chaque ligne vide semble identique), gonflant votre compte de 'doublons supprimés' sans retirer de contenu réel. Désactivez cette option si vous voulez conserver les lignes vides séparatrices entre sections.
Mes données sont-elles téléversées ou stockées quelque part ?
Non. La déduplication s'exécute entièrement en JavaScript du navigateur sur la valeur du textarea — pas de fetch() vers un backend, pas d'événement d'analytique avec contenu, pas d'écriture localStorage. Vous pouvez vérifier dans l'onglet Réseau de DevTools que cliquer sur Supprimer fait zéro requête sortante. Cela rend l'outil sûr pour des listes sensibles comme e-mails d'employés, dossiers clients, hostnames internes, ou contenu sous droit d'auteur sous NDA.
