Est-il possible de supprimer les lignes dupliquées dans Notepad ++, ne laissant qu'une seule occurrence d'une ligne?
la source
Est-il possible de supprimer les lignes dupliquées dans Notepad ++, ne laissant qu'une seule occurrence d'une ligne?
Notepad ++ peut le faire, à condition que vous souhaitiez trier par ligne et supprimer les lignes en double en même temps.
Vous aurez besoin du plugin TextFX. Cela était inclus dans les anciennes versions de Notepad ++, mais si vous avez une version plus récente, vous pouvez l'ajouter à partir du menu en accédant à Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install
. Dans certains cas, il peut également être appelé TextFX Characters
, mais c'est la même chose
Les cases à cocher et les boutons nécessaires apparaissent maintenant dans le menu sous: TextFX -> TextFX Tools
.
Assurez-vous que "trier les sorties uniquement uniques ..." est coché. Ensuite, sélectionnez un bloc de texte ( Ctrl+ Apour sélectionner tout le document). Enfin, cliquez sur "Trier les lignes sensibles à la casse" ou "Trier les lignes sensibles à la casse"
Depuis Notepad ++ Version 6, vous pouvez utiliser cette expression régulière dans la boîte de dialogue de recherche et remplacement:
et remplacer par rien . Cela laisse de toutes les lignes en double la dernière occurrence du fichier.
Aucun tri n'est nécessaire pour cela et les lignes en double peuvent être n'importe où dans le fichier!
Vous devez vérifier les options "Expression régulière" et ". Matches newline":
^
correspond au début de la ligne.(.*?)
correspond à tous les caractères 0 ou plusieurs fois, mais aussi peu que possible (il correspond exactement à la ligne, cela est nécessaire en raison de l'option ". correspond à la nouvelle ligne"). La ligne correspondante est stockée, en raison des crochets autour et accessible à l'aide\1
$
correspond à la fin de la ligne.\s+?^
cette partie correspond à tous les caractères d'espacement (sauts de ligne!) jusqu'au début de la ligne suivante ==> Cela supprime les sauts de ligne après la ligne correspondante, de sorte qu'aucune ligne vide n'est là après le remplacement.(?=.*^\1$)
il s'agit d'une affirmation d'anticipation positive. C'est la partie importante de cette expression régulière, une ligne n'est mise en correspondance (et supprimée) que lorsqu'il y a exactement la même ligne qui suit ailleurs dans le fichier.la source
. matches newline
fait l'affaire.Si les lignes se suivent immédiatement, vous pouvez utiliser un remplacement d'expression régulière:
Modèle de recherche:
^(.*\r?\n)(\1)+
Remplacer par:
\1
la source
^(.*\r?\n)(\1)+
Bloc-notes ++
-> Remplacer la fenêtre
Assurez-vous qu'en mode Recherche, vous avez sélectionné le bouton radio Expression régulière
Trouver quoi:
Remplacer par:
Avant:
Après:
la source
Si vous ne vous souciez pas de l'ordre des lignes (ce que je ne pense pas que vous fassiez), alors vous pouvez utiliser une boîte Linux / FreeBSD / Mac OS X / Cygwin et faire:
Ensuite, ouvrez à nouveau le fichier dans Notepad ++.
la source
'cat' is not recognized as an internal or external command, operable program or batch file.
cat yourfile | sort -Unique
Les dernières versions de Notepad ++ n'incluent apparemment pas du tout le plugin TextFX. Afin d'utiliser le plugin pour trier / éliminer les doublons, le plugin doit être soit téléchargé et installé (plus impliqué) soit ajouté à l'aide du gestionnaire de plugins.
A) Un moyen simple (comme décrit ici ).
Plugins -> Plugin Manager -> Afficher Plugin Manager -> Onglet Disponible -> Caractères TextFX -> Installer
B) De manière plus impliquée, si une autre version est nécessaire ou si la méthode simple ne fonctionne pas.
Téléchargez le plugin depuis SourceForge:
http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip
Ouvrez le fichier zip et extrayez NppTextFX.dll
Placez NppTextFX.dll dans le répertoire des plug-ins Notepad ++, tel que:
C: \ Program Files \ Notepad ++ \ plugins
Démarrez Notepad ++ et TextFX sera l'un des éléments de menu de fichier (comme vu dans la réponse n ° 1 ci-dessus par Colin Pickard)
Après avoir installé le plugin TextFX, suivez les instructions de la réponse n ° 1 pour trier et supprimer les doublons.
Envisagez également de configurer un raccourci clavier à l'aide de Paramètres> Mappeur Shorcut si vous utilisez fréquemment cette commande ou si vous souhaitez répliquer un raccourci clavier, tel que F9 dans TextPad pour le tri.
la source
C:\Users\<your_user>\AppData\Local\Notepad++\plugins\NppTextFX
. En dehors de cela, cela fonctionne toujours bien.Dans la version 7.8, vous pouvez accomplir cela sans aucun plugin - Édition -> Opérations de ligne -> Supprimer les lignes en double consécutives. Vous devrez trier le fichier pour placer les lignes en double dans un ordre consécutif avant que cela fonctionne, mais cela fonctionne comme un charme.
Les options de tri sont disponibles sous Edition -> Opérations de ligne -> Trier par ...
la source
Vous aurez peut-être besoin d'un plugin pour ce faire. Vous pouvez essayer la ligne de commande
cc.ddl
(supprimer les lignes en double) de ConyEdit . Il s'agit d'un plugin multi-éditeur pour les éditeurs de texte, y compris Notepad ++.Avec ConyEdit exécuté en arrière-plan, suivez les étapes ci-dessous:
cc.ddl
à la fin du texte.Exemple
la source
Recherchez l'expression régulière:
\b(\w+)\b([\w\W]*)\b\1\b
Remplacez-le par:
$1$2
Appuyez sur le bouton Remplacer jusqu'à ce qu'il n'y ait plus de correspondance pour l'expression régulière dans votre fichier.
la source
Aucun n'a fonctionné pour moi.
Une solution est:
Remplacer
avec
la source
^(.*)\s+(\r?\n\1\s+)+$
et non^(.*)\s*(\r?\n\1\s*)+$
?Le gestionnaire de plugins est actuellement indisponible (ne vient pas avec la distribution) pour Notepad ++. Vous devez l'installer manuellement ( https://github.com/bruderstein/nppPluginManager/releases ) et même si vous le faites, de nombreux plugins ne sont plus disponibles (pas de TextFX).
Il existe peut-être un autre plugin qui contient les fonctionnalités requises. En dehors de cela, la seule façon de le faire dans Notepad ++ est d'utiliser une expression régulière spéciale pour la correspondance, puis le remplacement ( Ctrl+ F→ onglet Remplacer ).
Bien qu'il existe de nombreuses fonctionnalités disponibles via l' élément de menu Edition (découpage, suppression de lignes vides, tri, conversion EOL), aucune opération "unique" n'est disponible.
Si vous avez Windows 10, vous pouvez activer Bash (tapez simplement Ubuntu dans le Microsoft Store et suivez les instructions de la description pour l'installer) et utilisez
cat your_file.txt | sort | uniq > your_file_edited.txt
. Bien sûr, vous devez être dans le même répertoire de travail que "votre_fichier.txt" ou vous y référer via son chemin.la source