Suppresseur de lignes en double

Supprimer les lignes en double du texte, en conservant uniquement les lignes uniques

Essayer un exemple

Lignes d'entrée

Lignes uniques

Fonctionne localement · Sûr pour coller des secrets
Les lignes uniques apparaîtront ici…

Qu'est-ce que la suppression de lignes en double ?

La suppression de lignes en double est le processus qui consiste à parcourir un bloc de texte ligne par ligne et à ne conserver que la première occurrence de chaque ligne unique. Lorsque tu supprimes des lignes en double en ligne, l'outil découpe le texte sur les caractères de saut de ligne, suit les lignes déjà apparues grâce à une structure de données de type table de hachage (comme un Set), et ne renvoie que les lignes non encore vues. L'ordre original des lignes est préservé.

Deux lignes sont considérées comme des doublons lorsqu'elles correspondent exactement, caractère par caractère. En pratique, les données réelles coopèrent rarement avec une correspondance exacte. Les espaces en début ou fin de ligne, les majuscules incohérentes et les caractères invisibles comme les tabulations ou les retours chariot peuvent tous faire traiter comme uniques des lignes qui semblent identiques. C'est pourquoi la plupart des outils de déduplication proposent des options de comparaison insensible à la casse et de suppression des espaces avant comparaison.

La déduplication est une opération distincte du tri. La commande Unix sort -u trie et déduplique à la fois, ce qui modifie l'ordre des lignes. Si tu dois préserver l'ordre original, il faut une approche par ensemble de vus : parcourir les lignes en séquence, ajouter la forme normalisée de chaque ligne à un ensemble et ignorer toute ligne dont la clé existe déjà. Cet outil utilise cette méthode, donc les premières occurrences restent à leurs positions initiales.

Pourquoi utiliser ce suppresseur de doublons ?

Colle ton texte, choisis tes options de comparaison et obtiens le résultat dédupliqué immédiatement. Pas de configuration en ligne de commande, pas de regex, pas d'envoi de fichiers.

Déduplication instantanée
Les résultats se mettent à jour au fur et à mesure que tu tapes ou colles. Active ou désactive la sensibilité à la casse et la suppression des espaces pour voir comment les options affectent le résultat sans relancer quoi que ce soit.
🔒
Traitement respectueux de la vie privée
Toute la déduplication s'effectue dans ton navigateur avec JavaScript. Ton texte reste sur ton appareil et n'est jamais envoyé à un serveur ni journalisé.
🎯
Correspondance configurable
Active le mode insensible à la casse pour traiter "Pomme" et "pomme" comme la même ligne. Active la suppression des espaces pour ignorer les espaces en début et fin de ligne lors de la comparaison.
📋
Sans compte requis
Ouvre la page et commence à dédupliquer. Sans inscription, sans extension de navigateur, sans installation. Fonctionne sur n'importe quel appareil avec un navigateur moderne.

Cas d'usage du suppresseur de lignes en double

Développement frontend
Nettoie les listes de classes CSS, supprime les instructions d'import répétées ou déduplique les clés de traduction i18n. Retirer les doublons avant de valider évite des bundles surchargés et réduit les conflits de fusion.
Ingénierie backend
Déduplique les entrées dans requirements.txt, Gemfile ou les listes de dépendances package.json après une fusion de branches. Supprime les entrées répétées dans les listes d'autorisation, de blocage ou les tables de routage.
DevOps et infrastructure
Nettoie les entrées en double dans les fichiers .env, les listes d'hôtes ou les ConfigMaps Kubernetes. Les variables d'environnement dupliquées provoquent des remplacements silencieux — les détecter avant le déploiement évite des bugs de configuration difficiles à tracer.
Assurance qualité et automatisation des tests
Supprime les identifiants de cas de test répétés dans les manifestes de campagne ou les assertions dupliquées dans des suites de tests générées. Déduplique les messages d'erreur issus des journaux pour voir l'ensemble unique des échecs.
Ingénierie des données
Supprime les lignes en double dans des exports CSV ou des résultats de requêtes SQL collés en texte. Nettoie les listes d'e-mails, d'identifiants utilisateurs ou de tags avant de les importer dans une base de données ou un pipeline.
Étudiants et apprenants
Supprime les entrées répétées dans des listes de vocabulaire, des lignes bibliographiques ou des notes de cours. Colle du contenu provenant de plusieurs sources et obtiens une liste propre et unique sans installer de tableur.

Méthodes de déduplication comparées

Il existe plusieurs approches pour supprimer les lignes en double, chacune avec des compromis différents en termes de préservation de l'ordre, d'utilisation de la mémoire et de précision.

MéthodeFonctionnementOrdre de sortieOù utilisé
SetHash-based, O(1) lookupUnorderedJavaScript Set, Python set()
Sorted + scanSort then skip adjacentSorted outputUnix sort -u, C++ std::unique
Seen-set + listTrack seen, preserve orderOriginal orderThis tool, Python dict.fromkeys()
Bloom filterProbabilistic membershipMay miss someLarge-scale pipelines, Redis
SQL DISTINCTDatabase-level dedupQuery-dependentSELECT DISTINCT col FROM table

Sensibilité à la casse et gestion des espaces

Deux options contrôlent la façon dont cet outil détermine si deux lignes sont des doublons. Comprendre quand utiliser chaque option évite les faux positifs (traiter des lignes différentes comme des doublons) et les faux négatifs (rater des lignes qui devraient correspondre).

Sensible à la casse (défaut : activé)
Lorsqu'activée, "Pomme" et "pomme" sont traitées comme des lignes différentes. Désactive cette option pour dédupliquer des données soumises par des utilisateurs, des listes de noms de domaine ou tout texte où la capitalisation est incohérente mais le sens identique.
Supprimer les espaces (défaut : activé)
Lorsqu'activée, les espaces et tabulations en début et fin de ligne sont supprimés avant la comparaison. Cela détecte les lignes qui semblent identiques mais diffèrent par des caractères invisibles, fréquents dans les sorties de terminal copiées-collées, les fichiers de configuration indentés et les artefacts d'éditeur.

Exemples de code

Supprime les lignes en double par programmation en JavaScript, Python, Go et en ligne de commande. Chaque exemple montre une déduplication préservant l'ordre et gère la sensibilité à la casse.

JavaScript
const text = `apple
banana
apple
Cherry
banana
cherry`

// Remove exact duplicates, preserve order
const unique = [...new Map(
  text.split('\n').map(line => [line, line])
).values()].join('\n')
// → "apple\nbanana\nCherry\ncherry"

// Case-insensitive deduplication
const seen = new Set()
const ciUnique = text.split('\n').filter(line => {
  const key = line.toLowerCase()
  if (seen.has(key)) return false
  seen.add(key)
  return true
}).join('\n')
// → "apple\nbanana\nCherry"

// Trim whitespace before comparing
const trimDedup = text.split('\n').filter(line => {
  const key = line.trim().toLowerCase()
  if (seen.has(key)) return false
  seen.add(key)
  return true
}).join('\n')
Python
text = """apple
banana
apple
Cherry
banana
cherry"""

lines = text.splitlines()

# Remove duplicates, preserve order (Python 3.7+)
unique = list(dict.fromkeys(lines))
# → ['apple', 'banana', 'Cherry', 'cherry']

# Case-insensitive deduplication
seen = set()
ci_unique = []
for line in lines:
    key = line.lower()
    if key not in seen:
        seen.add(key)
        ci_unique.append(line)
# → ['apple', 'banana', 'Cherry']

# With whitespace trimming
seen = set()
trimmed = []
for line in lines:
    key = line.strip().lower()
    if key not in seen:
        seen.add(key)
        trimmed.append(line)
Go
package main

import (
	"fmt"
	"strings"
)

func removeDuplicates(text string) string {
	lines := strings.Split(text, "\n")
	seen := make(map[string]bool)
	result := make([]string, 0, len(lines))

	for _, line := range lines {
		if !seen[line] {
			seen[line] = true
			result = append(result, line)
		}
	}
	return strings.Join(result, "\n")
}

func main() {
	text := "apple\nbanana\napple\ncherry\nbanana"
	fmt.Println(removeDuplicates(text))
	// → apple\nbanana\ncherry
}
CLI (bash)
# Remove duplicates (sorts output — does not preserve order)
sort -u file.txt

# Remove duplicates while preserving original order
awk '!seen[$0]++' file.txt

# Case-insensitive dedup, preserve order
awk 'BEGIN{IGNORECASE=1} !seen[tolower($0)]++' file.txt

# Trim whitespace then dedup
sed 's/^[[:space:]]*//;s/[[:space:]]*$//' file.txt | awk '!seen[$0]++'

# Count duplicates before removing
sort file.txt | uniq -c | sort -rn

Questions fréquentes

Quelle est la différence entre supprimer les doublons et utiliser sort -u ?
La commande sort -u trie d'abord toutes les lignes alphabétiquement, puis supprime les doublons adjacents. Cela modifie l'ordre original des lignes. L'approche par ensemble de vus, que cet outil utilise, parcourt les lignes dans l'ordre et ignore toute ligne déjà vue, préservant ainsi la séquence originale. Utilise sort -u quand tu veux une sortie à la fois triée et unique. Utilise l'approche par ensemble quand l'ordre compte.
Mon texte est-il envoyé à un serveur lors de la suppression des doublons ?
Non. Tout le traitement s'effectue dans ton navigateur avec JavaScript. Le texte ne quitte jamais ton appareil. Tu peux le vérifier en ouvrant l'onglet Réseau des DevTools du navigateur et en confirmant qu'aucune requête n'est envoyée quand tu colles du texte et bascules les options.
Combien de lignes cet outil peut-il traiter ?
L'outil fonctionne bien avec des dizaines de milliers de lignes. Le Set de JavaScript a un temps de recherche moyen O(1), donc dédupliquer 100 000 lignes prend moins de 100 millisecondes sur du matériel récent. Pour des fichiers de plusieurs mégaoctets, utilise le one-liner awk '!seen[$0]++' en ligne de commande, qui parcourt le fichier en flux continu sans le charger entièrement en mémoire.
Comment fonctionne la déduplication insensible à la casse ?
Lorsque la sensibilité à la casse est désactivée, chaque ligne est convertie en minuscules avant d'être vérifiée dans l'ensemble des lignes vues. La version en casse originale de la première occurrence est conservée dans la sortie. Donc si ton texte a "Pomme" à la ligne 1 et "pomme" à la ligne 5, "Pomme" est conservée et "pomme" est supprimée.
Puis-je supprimer les doublons et trier en même temps ?
Cet outil supprime les doublons sans modifier l'ordre des lignes. Pour obtenir une sortie triée et unique, utilise d'abord l'outil Trieur de lignes dans la même catégorie pour trier ton texte, puis colle le résultat trié ici pour supprimer les éventuels doublons restants. Tu peux aussi utiliser sort -u en ligne de commande pour une solution en une seule étape.
Que se passe-t-il avec les lignes vides et les lignes contenant uniquement des espaces ?
Les lignes vides sont traitées comme n'importe quelle autre ligne. Si ton texte contient trois lignes vides, seule la première est conservée. Lorsque la suppression des espaces est activée, les lignes ne contenant que des espaces ou des tabulations sont normalisées en chaînes vides avant la comparaison, et sont donc toutes traitées comme des doublons de la première ligne vide ou contenant uniquement des espaces.
Comment supprimer les doublons d'un fichier CSV selon une colonne spécifique ?
Cet outil compare des lignes entières, pas des colonnes individuelles. Pour dédupliquer un CSV selon une colonne spécifique, utilise awk avec un séparateur de champ : awk -F',' '!seen[$2]++' fichier.csv supprime les lignes avec des valeurs dupliquées dans la deuxième colonne. En Python, utilise pandas : df.drop_duplicates(subset=['nom_colonne']). Pour les données SQL, utilise SELECT DISTINCT ou GROUP BY sur la colonne cible.