
Trier et dédupliquer des lignes de texte en ligne (sans Excel ni scripts)
📷 Pixabay / PexelsTrier et dédupliquer des lignes de texte en ligne (sans Excel ni scripts)
Comment trier, dédupliquer, inverser et nettoyer rapidement des listes de texte sans tableur ni terminal. Exemples pratiques pour les développeurs et les gestionnaires de données.
Il y a une sorte de fastidieux particulier auquel les développeurs et les personnes qui manipulent des données font face constamment : vous avez une liste de choses — des domaines, des noms d'utilisateur, des étiquettes, des URL, des messages d'erreur — et vous avez besoin qu'ils soient triés, ou que les doublons soient éliminés, ou les deux. Ça semble simple. C'est simple. Mais la friction d'ouvrir Excel, ou d'écrire un script Python rapide, ou de se souvenir de l'incantation exacte sort | uniq en bash est juste assez pour vous ralentir.
J'ai perdu plus de temps que je ne voudrais l'admettre sur ce type de tâche. Pas des heures, mais ces agaçantes interruptions de deux minutes qui brisent votre flux de travail. C'est le cas d'utilisation pour lequel l'outil Trieur de lignes a été conçu — coller votre liste, la trier, la nettoyer, la copier, passer à autre chose.
Les cas courants
Laissez-moi parcourir les situations où ce type d'outil fait réellement gagner du temps.
Dédupliquer une liste d'URL ou de domaines
Vous compilez une liste de domaines à bloquer, ou une liste de règles de redirection, ou une liste d'autorisation pour une politique de sécurité du contenu. Vous collez des URL provenant de différentes sources et vous vous retrouvez avec des doublons. Vous pouvez :
- Ouvrir Excel, coller, utiliser Supprimer les doublons
- Écrire
sort -u list.txt > sorted.txtdans un terminal - Utiliser awk ou Python
Ou vous pouvez coller ça dans un trieur de lignes, cocher « Supprimer les doublons », et en avoir fini en 10 secondes.
L'approche par terminal est franchement plus propre si vous êtes déjà dans un terminal. Mais quand vous êtes en train de faire autre chose — rédiger de la documentation, remplir un formulaire, travailler dans un navigateur — le changement de contexte vers un terminal pour exécuter une commande d'une ligne a plus de surcharge qu'il n'y paraît.
Alphabétiser des listes d'étiquettes ou de mots-clés
Des mots-clés SEO. Des noms de colonnes de base de données. Des noms de variables d'environnement. Des clés de configuration. Ce sont des listes qui se lisent mieux alphabétisées, et elles sont rarement alphabétisées quand vous les écrivez en premier.
L'alphabétisation manuelle fonctionne pour cinq éléments. À quinze éléments, vos yeux commencent à sauter. À cinquante éléments, vous avez besoin d'un outil.
Randomiser l'ordre (mélanger)
Parfois, vous voulez le contraire de trié — vous devez randomiser une liste. Des données de test dans un ordre aléatoire, des questions de sondage mélangées, une playlist randomisée exportée en texte. L'option mélanger s'en occupe.
Inverser sans trier
Si vous avez un journal des modifications où l'entrée la plus ancienne est en premier, vous pourriez vouloir la plus récente en premier pour l'affichage. L'ordre inversé (pas l'ordre alphabétique inversé — juste inverser la séquence) est différent du tri en ordre inversé. Les deux opérations sont disponibles.
Les options qui comptent vraiment
Le Trieur de lignes a quelques options qui méritent d'être comprises :
Sensible à la casse: Avec la sensibilité à la casse désactivée (par défaut), « Pomme » et « pomme » se trient ensemble et comptent comme des doublons. Activée, elles sont traitées comme des valeurs différentes. Pour les cas d'utilisation en programmation — noms de variables d'environnement, noms de commandes — la sensibilité à la casse est généralement ce que vous voulez. Pour du texte humain comme des listes de noms ou de lieux, l'insensibilité à la casse est généralement mieux.
Supprimer les doublons: Fonctionne en combinaison avec d'autres opérations. Si vous triez et supprimez les doublons simultanément, vous obtenez une liste propre, dédupliquée et alphabétisée.
Supprimer les lignes vides: Coller quelque chose depuis un document donne souvent des lignes vierges disséminées dedans. Cela les élimine.
Supprimer les espaces: Les espaces de début et de fin sur chaque ligne. Le genre qui apparaît invisiblement quand vous copiez depuis un tableur ou un PDF. « pomme » et « pomme» ne sont pas la même chaîne — mais avec le trim activé, elles le deviennent, donc les doublons sont correctement détectés.
Un vrai flux de travail : nettoyer une liste de contrôle de migration de base de données
Voici un flux de travail spécifique que j'ai réellement utilisé. Nous avions une liste de contrôle de migration de base de données qui avait été maintenue par plusieurs personnes au fil du temps. Des éléments avaient été ajoutés et re-ajoutés, certains avec des espaces légèrement différents ou des majuscules différentes. La liste avait grandi à plus de 200 éléments.
Pour la nettoyer :
- Copier toute la liste dans le presse-papiers
- Coller dans le Trieur de lignes
- Activer : Supprimer les espaces, Supprimer les lignes vides, Supprimer les doublons
- Trier A → Z (facilite la détection visuelle des quasi-doublons)
- Copier le résultat
La sortie triée et dédupliquée était réduite à 140 éléments. Les quasi-doublons — « Migrer la table utilisateurs » vs « migrer la table utilisateurs » — nécessitaient encore un regard humain, mais les doublons exacts évidents avaient disparu.
Après la déduplication, j'ai exécuté la liste triée dans Text Diff pour la comparer à la version précédente et m'assurer que rien de légitime n'avait été supprimé. Ce flux de travail en deux outils a pris peut-être cinq minutes au total.
Quand utiliser un terminal à la place
Je vais être honnête : si vous êtes à l'aise dans un terminal, sort -u filename.txt est plus rapide pour les fichiers. Et si vous traitez quelque chose de façon programmatique dans le cadre d'un script, faites-le certainement dans le code.
L'outil en ligne est mieux quand :
- Vous êtes déjà dans un contexte de navigateur
- Vous travaillez avec du texte dans un presse-papiers, pas dans un fichier
- Vous voulez appliquer plusieurs options (trier + dédupliquer + trimmer) à la fois sans chaîner des commandes
- La personne qui fait ça n'est pas un développeur
Ce dernier point est important. Tout le monde qui a besoin de dédupliquer une liste ne sait pas comment ouvrir un terminal. Un gestionnaire de contenu, une personne du marketing, un chef de projet — ils ont le même besoin et méritent un outil qui ne nécessite pas de savoir ce que fait awk '{!seen[$0]++} !seen[$0]'.
Tri multilingue
Une chose facile à négliger : trier du texte non anglais n'est pas la même chose que trier du texte ASCII.
sort en bash fait un travail raisonnable avec l'UTF-8, mais vous devez définir correctement votre locale (LC_ALL=fr_FR.UTF-8 sort ou similaire). Les lettres avec accents (é, ü, ñ) se trient différemment selon la locale. Le coréen, le japonais et le chinois ont des règles de classement entièrement différentes.
Le Trieur de lignes utilise la méthode localeCompare() de JavaScript pour le tri, qui respecte les paramètres de locale du navigateur. Cela signifie que les listes françaises trient correctement : é sort près de e, à près de a, et ainsi de suite.
Ce n'est pas parfait — le tri sensible à la locale est un problème profond — mais c'est significativement mieux que l'ordre naïf des codes de caractères pour du vrai contenu multilingue.
Ce qu'il ne fait pas
Pour calibrer les attentes :
Il ne correspondra pas aux doublons de façon floue. Si vous avez « Paris » et « paris » avec la sensibilité à la casse désactivée, ceux-ci correspondent. Mais « Paris » et « Paris, France » sont des chaînes différentes et ne seront pas détectées comme doublons. Pour la déduplication floue, vous aurez besoin de quelque chose de plus sophistiqué.
Il ne triera pas les colonnes. C'est un outil au niveau des lignes. Si vous avez des valeurs séparées par des virgules et que vous voulez trier par la deuxième colonne, vous avez besoin d'un outil CSV ou d'un tableur.
Il ne comptera pas les occurrences ni ne regroupera par valeur. Pour une analyse de texte plus riche, consultez le Compteur de mots.
Confidentialité
Tout s'exécute dans votre navigateur. Votre texte n'est jamais envoyé à un serveur. C'est important quand la liste que vous dédupliquez contient des e-mails, des noms de domaine internes, des données clients ou tout autre contenu sensible.
Intégration dans votre flux de travail
Quelques notes pratiques :
Utilisation pilotée par clavier: Si vous êtes une personne claviers, le flux est : Ctrl+A pour tout sélectionner dans l'entrée, Ctrl+V pour coller, ajuster les options avec Tab et Espace, puis cliquer sur Traiter. La sortie a un bouton copier.
Grandes entrées: L'outil gère bien les grandes entrées pour des tailles typiques — des centaines ou des milliers de lignes. Pour des entrées vraiment massives (des millions de lignes), un outil en ligne de commande sera plus rapide.
Aller-retour: Il est correct d'utiliser la sortie d'une opération comme entrée pour une autre. Trier, copier, recoller, appliquer différentes options, répéter. L'outil n'a aucune mémoire entre les opérations.
Pour conclure
Un trieur de lignes semble presque trop simple pour avoir besoin de son propre outil. Mais « trop simple pour avoir besoin d'un outil » est souvent la catégorie où la friction s'accumule le plus invisiblement. Les tâches de cinq secondes que vous faites vingt fois par jour.
Triez, dédupliquez et nettoyez vos listes de texte ici. Pas de configuration, pas d'inscription, pas d'inquiétude concernant le collage sur des serveurs aléatoires.
Si vous travaillez avec quelque chose de plus structuré, l'outil Text Diff est bien pour comparer les versions d'une liste avant et après modification. Et le Compteur de mots vous donne des statistiques sur votre texte si vous avez besoin de plus qu'une simple sortie triée.