🧰 UtlKit

Comment Utiliser Supprimer les Dupliqués : Déduplication de Lignes par Coïncidence Exacte avec la Première Apparition, dans le Navigateur

Un bloc de texte, coupé en lignes et dédupliqué par coïncidences exactes en gardant la première apparition, avec un compteur vert de lignes supprimées, le tout calculé dans le navigateur.

L'outil de Supprimer les Dupliqués prend un bloc de texte, le coupe en lignes et efface chaque ligne qui est une répétition exacte d'une ligne antérieure, dans le navigateur. Le marqueur montre l'exemple en marche : apple, banana, apple, cherry, banana, date. Vous appuyez sur le bouton Remove Duplicates, et le bloc de résultat imprime le texte dédupliqué dans un champ en lecture seule, avec une ligne verte au-dessus qui lit Removed 2 duplicate(s). Rien n'est envoyé nulle part : la coupe, l'ensemble et la jonction courent sur l'appareil, et le bouton Clear efface l'entrée, la sortie et le compteur.

Que la boîte reçoit et ce qu'elle rend

L'entrée est une zone de texte unique, de dix lignes de haut et redimensionnable, et rien d'autre n'est demandé. Au-dessus il y a un bouton Clear qui réinitialise tout, et en dessous un bouton d'action, Remove Duplicates, donc le calcul n'est pas en direct : le résultat ne change que quand vous l'appuyez. La sortie est une zone de texte en lecture seule de la même hauteur, et un bouton de copie se tient à côté de son étiquette Result, mais seulement quand la sortie n'est pas vide. La ligne verte de comptage, Removed N duplicate(s), n'apparaît que quand N est au-dessus de zéro, donc une entrée sans répétitions montre le résultat et rien d'autre.

Comment la déduplication marche

L'entrée est coupée en un tableau de lignes par les sauts de ligne, et les lignes sont parcourues dans l'ordre avec un ensemble qui se souvient de chaque ligne déjà gardée. La première fois qu'une ligne est vue, elle entre dans l'ensemble et dans la liste de sortie ; chaque fois qu'elle est revue, elle n'est comptée qu'une fois comme doublon et jetée. Les lignes gardées sont de nouveau jointes par des sauts de ligne, donc la sortie est l'entrée avec ses répétitions enlevées, dans l'ordre d'origine de première apparition, jamais réordonnée. Pour le marqueur, apple, banana, apple, cherry, banana, date, le résultat est apple, banana, cherry, date, avec 2 supprimées. Le parcours est une passe sur les lignes, donc une entrée de 100 000 lignes avec 50 000 uniques est traitée en environ 40 millisecondes.

Ce qui compte comme la même ligne

Deux lignes sont la même seulement quand chaque caractère coïncide, parce que la comparaison est une preuve exacte de chaîne, sans normalisation. Les majuscules comptent, donc A et a sont des lignes différentes et les deux restent. Les espaces comptent, donc un a avec un espace final et un a avec un espace initial sont des lignes différentes et les deux restent. Les accents comptent, donc café et cafe sont des lignes différentes et les deux restent. Les lignes vides comptent aussi comme lignes : une ligne qui est vide reste une ligne, et une ligne qui n'est qu'un espace est une ligne d'espace, donc deux lignes d'espaces seuls réduisent à une. Si vos répétitions diffèrent par une de ces choses, elles ne sont pas des répétitions pour cet outil, et le compteur reste à zéro.

Ce qui arrive aux sauts de ligne et aux lignes vides

La coupe ne cherche que le caractère de saut de ligne, donc un fichier qui finit par un saut de ligne sort avec une ligne de plus, vide, à la fin, et comme toute première apparition d'une ligne vide, elle est gardée : une entrée de a et b, chacun sur sa ligne finissant par un saut de ligne, revient sans changement, avec 0 supprimées. Deux lignes vides consécutives réduisent à une, et une entrée qui n'est qu'un saut de ligne supprime une ligne et imprime un résultat vide, qui montre quand même le bloc de résultat mais sans bouton de copie. Les sauts de ligne Windows sont le tranchant : la coupe ne retire pas le retour chariot, donc le même texte lu d'un fichier Windows est une ligne différente du même texte sans lui, et une copie du résultat garde les retours chariot.

Comment le compteur de supprimées est lu

La ligne verte ne compte que les lignes qui ont été jetées, pas celles qui ont été gardées. Quatre lignes identiques, x x x x, suppriment 3 et gardent 1 ; une entrée entremêlée, 1 2 1 2, supprime 2 et garde 2 ; et une entrée sans répétitions exactes ne montre rien, parce que la ligne ne se rend que quand le compteur est au-dessus de zéro. Le compteur est la différence entre le nombre de lignes de l'entrée et celui de la sortie, rien de plus.

Où va le texte

Nulle part hors de l'appareil. La valeur de la zone de texte est lue par la page, la coupe, l'ensemble et la jonction courent dans le navigateur, et aucune requête réseau n'a lieu à aucun moment. Il n'y a ni historique ni résultat stocké : le seul état sont les trois valeurs que la page garde, entrée, sortie et compteur, et Clear les remet à vide et à zéro. Copier utilise le presse-papiers du navigateur, donc le texte quitte la page seulement si vous appuyez sur copier et collez ailleurs.

De quoi il ne s'agit pas

L'outil déduplique des lignes, il ne normalise pas le texte : pour retirer les espaces et les lignes vides qui font que des lignes presque identiques semblent différentes, utilisez d'abord le Nettoyeur d'Espaces ; pour mettre les lignes gardées en ordre alphabétique ensuite, c'est le travail de l'outil Trier les Lignes ; et pour compter combien de fois chaque mot apparaît au lieu de chaque ligne, c'est le travail du Compteur de Fréquence de Mots. Pour le pas à pas d'un outil de texte de la même veine, voyez le guide d'inversion de texte.

Outils Associés

Questions Fréquentes

L'outil de Supprimer les Dupliqués envoie-t-il mon texte vers un serveur ?

Non. La zone de texte est lue par la page, et le seul calcul est le parcours d'une passe sur les lignes avec un ensemble de lignes gardées, donc le texte ne quitte jamais l'appareil et aucune requête réseau n'a lieu à aucun moment. Il n'y a ni historique ni résultat stocké : appuyer sur Clear ou recharger l'onglet vide l'entrée, la sortie et le compteur.

Pourquoi mes lignes en double n'ont-elles pas été supprimées ?

La coïncidence est exacte, caractère par caractère, sans normalisation. Une ligne qui diffère par une lettre de casse, un espace à la bordure, ou un accent est une ligne différente, donc A et a restent tous les deux, et une ligne qui porte le retour chariot d'un fichier Windows n'est pas la même ligne que le même texte sans lui. Le compteur reste à zéro parce qu'aucune d'elles n'est une répétition exacte d'une ligne antérieure.

Les lignes vides sont-elles supprimées ?

Les lignes vides sont des lignes, donc elles sont dédupliquées comme toute autre ligne : la première ligne vide reste et chaque ligne vide postérieure est comptée comme doublon. Une entrée qui n'est qu'un saut de ligne supprime une ligne, et le bloc de résultat montre une sortie vide sans bouton de copie. Un fichier qui finit par un saut de ligne garde cette ligne vide finale, parce qu'elle est la première apparition d'une ligne vide.

Que signifie le compteur de supprimées ?

C'est le nombre de lignes qui ont été jetées, pas celui qui a été gardé, et il ne se rend que quand il est au-dessus de zéro. Quatre lignes identiques suppriment 3, une paire entremêlée, 1 2 1 2, supprime 2, et une entrée sans répétitions exactes ne montre aucune ligne de compteur. Le compteur est la différence entre le nombre de lignes de l'entrée et celui de la sortie, rien de plus.

L'outil trie-t-il le résultat ?

Non. La sortie garde les lignes dans l'ordre dans lequel leur première apparition est apparue dans l'entrée, et c'est pourquoi le sous-titre dit qu'il préserve l'ordre d'origine. Pour trier les lignes gardées après la déduplication, passez le résultat par l'outil Trier les Lignes.

Articles Associés