Skip to content

Tout pour WordPress, le développement web — et plus encore

🗑 Comment supprimer les lignes en double dans Notepad++ : 3 méthodes

🗑 Comment supprimer les lignes en double dans Notepad++ : 3 méthodes

Lignes en double dans les logs, exports CSV et fichiers de configuration: un casse-tête familier pour quiconque a déjà analysé manuellement un dump de base de données de 500 mégaoctets. Vous ouvrez un fichier et la moitié des lignes sont répétées. Les supprimer à la main est une cause perdue quand vous avez des milliers de lignes.

Notepad++ gère cela en quelques secondes. L’éditeur propose trois méthodes: d’une fonctionnalité intégrée nécessitant deux clics jusqu’aux expressions régulières pour les scénarios complexes. Choisissez celle qui correspond à votre besoin.

💡 Aperçu rapide:

  • Méthode 1, fonctionnalité intégrée: Édition → Opérations sur les lignes → Supprimer les lignes en double. Deux clics, fonctionne avec la v7.6+, 64 bits.
  • Méthode 2, expression régulière: supprime les doublons sans trier, en préservant l’ordre des lignes. Hautement personnalisable.
  • Méthode 3, plugin TextFX: un classique, mais uniquement pour la version 32 bits. Pour la version 64 bits, il existe un fork appelé TextFX2.

Méthode 1: fonctionnalité intégrée de Notepad++

La méthode la plus simple et la plus rapide. Elle est apparue avec la version 7.6 et fonctionne dans toutes les versions modernes, y compris l’actuelle v8.9.6. Aucun plugin requis, tout fonctionne immédiatement.

Ouvrez un fichier dans Notepad++, sélectionnez tout le contenu (Ctrl + A), puis allez dans Édition → Opérations sur les lignes → Supprimer les lignes en double. Voilà, toutes les lignes répétées sont supprimées, seules les lignes uniques subsistent.

Il existe également Supprimer les lignes en double consécutives, qui supprime uniquement les doublons apparaissant en séquence sans toucher aux lignes identiques situées ailleurs dans le fichier. Utile pour nettoyer des logs où les répétitions s’accumulent par blocs.

Remarque: la fonctionnalité supprime TOUS les doublons, en ne conservant que la première occurrence de chaque ligne. Si votre fichier contient des répétitions significatives (par exemple, des accolades fermantes identiques en JSON ou XML), cette méthode n’est pas adaptée. Dans ce cas, voyez la méthode 2 avec une expression régulière.

Méthode 2: rechercher et remplacer avec une expression régulière

Une expression régulière vous donne un contrôle total. Contrairement à la fonctionnalité intégrée, elle vous permet de supprimer les doublons sans tri préalable: les lignes restent dans leur ordre d’origine tandis que les répétitions disparaissent.

Ouvrez la boîte de dialogue de recherche (Ctrl + H), basculez sur l’onglet Remplacer et remplissez les champs:

Champ

Valeur

Rechercher

^(.*?)$\s+?^(?=.*^\1$)

Remplacer par

(laissez vide)

Mode de recherche

Expression régulière

. correspond au saut de ligne

Décochez

Cliquez sur Remplacer tout. Notepad++ va parcourir l’intégralité du fichier, trouver les lignes qui se répètent plus loin et les supprimer. Résultat: pour chaque ensemble de doublons, seule la dernière occurrence est conservée.

Comment cela fonctionne: ^(.*?)$ capture une ligne dans le premier groupe, \s+? saute les espaces blancs entre les lignes, et (?=.*^\1$) est une anticipation positive qui vérifie si cette même ligne (\1) apparaît plus loin dans le fichier. Si c’est le cas, l’occurrence courante est supprimée.

L’avantage de l’expression régulière est que vous pouvez adapter le motif. Par exemple, ajoutez ^ au début de la capture si vous avez besoin d’une correspondance exacte depuis le début de la ligne, ou remplacez \s+? par \r?\n pour un ancrage strict aux sauts de ligne.

Méthode 3: plugin TextFX

Une méthode classique qui existe depuis des années. TextFX était un plugin standard dans les anciennes versions 32 bits de Notepad++. La situation a changé: le TextFX d’origine est incompatible avec la version 64 bits à partir de la v8.4 et a été retiré de la distribution standard.

Si vous utilisez Notepad++ 32 bits, installez le plugin via Plugins → Gestionnaire de plugins → Afficher le gestionnaire de plugins → Disponibles → TextFX → Installer. Après l’installation, une section TextFX → TextFX Tools apparaît dans le menu.

Menu du plugin TextFX avec options de tri de lignes

Assurez-vous que la case Trier les lignes en respectant la casse est cochée (ou non, selon votre choix). Sélectionnez le texte (Ctrl + A) et cliquez sur Trier les lignes en respectant la casse. Le plugin va trier les lignes, en plaçant les doublons côte à côte. Ensuite, Édition → Opérations sur les lignes → Supprimer les lignes en double consécutives supprimera les répétitions.

Pour la version 64 bits, il existe un fork moderne appelé TextFX2. Il est disponible sur GitHub (rainman74/NPPTextFX2) et s’installe manuellement: téléchargez la DLL, placez-la dans le dossier plugins\NPPTextFX2 à l’intérieur du répertoire de Notepad++ et redémarrez l’éditeur. La fonctionnalité est la même: tri, suppression des doublons, conversion de casse.

Si la tâche est ponctuelle et que vous ne souhaitez pas installer de plugin, la méthode 1 est amplement suffisante.

⁉️🤔 Foire aux questions

Pourquoi Notepad++ ne supprime-t-il pas tous les doublons?

Très probablement, les lignes ne sont pas identiques octet par octet. Vérifiez les caractères invisibles: espaces de fin, tabulations au lieu d’espaces, casse différente. Activez Affichage → Afficher les symboles → Afficher tous les caractères pour voir ce qui rend les lignes différentes.

Comment supprimer les doublons SANS tenir compte de la casse?

La fonction intégrée Supprimer les lignes en double est sensible à la casse: «WordPress» et «wordpress» sont des lignes différentes. Pour supprimer les doublons sans tenir compte de la casse, convertissez d’abord le texte dans une même casse via Édition → Convertir la casse en → Minuscules (ou Majuscules), puis lancez Supprimer les lignes en double. Vous pouvez aussi utiliser la méthode 2 avec le drapeau regex (?i) au début du motif.

Puis-je supprimer les doublons dans plusieurs fichiers à la fois?

Notepad++ ne prend pas en charge la recherche et le remplacement multi-fichiers avec une expression régulière via son interface standard. Cependant, vous pouvez utiliser Rechercher dans les fichiers (Ctrl + Maj + F) pour trouver des lignes par regex dans tous les fichiers d’un dossier. Pour un remplacement par lot dans plusieurs fichiers, un script Python ou PowerShell est plus pratique: lisez le fichier, appliquez la regex, écrasez. Vous pouvez aussi utiliser le plugin Python Script pour Notepad++ avec un script personnalisé.

Qu’est-ce qui est plus rapide sur un gros fichier, la fonction intégrée ou la regex?

La fonction intégrée Supprimer les lignes en double est nettement plus rapide sur les fichiers de plus de 50 Mo, car il s’agit de code C++ natif plutôt que d’un moteur d’expression régulière. La méthode regex commence à ralentir significativement sur des centaines de milliers de lignes à cause des vérifications par anticipation. À titre de comparaison: sur un fichier CSV de 200 000 lignes, la fonction intégrée s’exécute en 2 à 3 secondes, tandis que la regex prend 15 à 20 secondes.

J’ai supprimé les doublons; comment annuler si cela s’est mal passé?

Ctrl + Z annule la dernière opération. Si vous avez fermé le fichier sans enregistrer, ne sauvegardez simplement pas les modifications à la fermeture. Dans tous les cas, avant de faire des modifications en masse, copiez le fichier original dans un dossier adjacent: cela prend une seconde et vous fait gagner des heures.

Quelle méthode choisir pour votre besoin

Si vous devez nettoyer rapidement des logs ou un CSV des répétitions, utilisez la fonction intégrée (méthode 1). Deux clics, résultat instantané, aucun plugin. C’est le choix par défaut pour la grande majorité des scénarios. Le résultat est visible immédiatement sans étapes supplémentaires.

La regex (méthode 2) est à privilégier lorsque l’ordre original des lignes importe ou que vous avez besoin d’un réglage fin: supprimer les doublons uniquement dans un fragment sélectionné, ignorer la casse, gérer les répétitions imbriquées. Plus puissante, mais elle nécessite de comprendre la syntaxe.

TextFX (méthode 3) est uniquement à considérer si vous êtes sur la version 32 bits et que vous êtes habitué à ce flux de travail. Pour la version 64 bits, il y a TextFX2, mais avec la fonction intégrée désormais disponible, le plugin est devenu presque obsolète.

Essayez la fonction intégrée dès maintenant sur n’importe quel fichier texte contenant des répétitions. Cela prendra 5 secondes.