Est-il possible de supprimer les lignes dupliquées dans Notepad ++, en 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. Auparavant, 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 allant à 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 requis apparaissent maintenant dans le menu sous: TextFX -> TextFX Tools
.
Assurez-vous que "trier uniquement les sorties uniques ..." est coché. Ensuite, sélectionnez un bloc de texte (Ctrl+A sélectionner le document entier). 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 rationnelle dans le dialogue de recherche et remplacement:
^(.*?)$\s+?^(?=.*^\1$)
et remplacez 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 cocher les options "Expression régulière" et ". Correspond à nouvelle ligne":
^
correspond au début de la ligne.
(.*?)
correspond à tous les caractères 0 fois ou plus, mais aussi peu que possible (cela 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 de \1
$
correspond à la fin de la ligne.
\s+?^
cette partie correspond à tous les caractères d'espacement (nouvelles lignes!) Jusqu'au début de la ligne suivante ==> Ceci supprime les nouvelles lignes après la ligne de correspondance, de sorte qu'aucune ligne vide ne se trouve après le remplacement.
(?=.*^\1$)
il s'agit d'une affirmation positive d'anticipation. Ceci est la partie importante de cette expression rationnelle, une ligne est uniquement mise en correspondance (et supprimée), quand il y a exactement la même ligne qui suit ailleurs dans le fichier.
si les rangées se suivent immédiatement, vous pouvez utiliser un remplacement de regex
Motif de recherche: ^(.*\r?\n)(\1)+
Remplacer par: \1
Notepad ++
-> Remplacer la fenêtre
Assurez-vous que dans le mode de recherche
vous avez sélectionné le bouton radio Expression régulière
Trouver quoi:
^ (. *) (\ r?\n\1) + $
remplacer par:
1 $
avant:
et on y pense
et on y pense
une seule ligne
Est-ce possible de
Est-ce possible de
après:
et on y pense
une seule ligne
Est-ce possible de
Si vous ne vous souciez pas de l'ordre des lignes (ce que je ne pense pas que vous fassiez), vous pouvez utiliser une boîte Linux/FreeBSD/Mac OS X/Cygwin et faire:
$ cat yourfile | sort | uniq > yourfile_nodups
Puis rouvrez le fichier dans Notepad ++.
Les dernières versions de Notepad ++ n'incluent apparemment pas du tout le plugin TextFX. Pour utiliser le plugin pour trier/éliminer les doublons, le plugin doit être soit téléchargé et installé (plus complexe), soit ajouté à l'aide du gestionnaire de plugins.
A) Moyen facile (comme décrit ici ).
Plugins -> Gestionnaire de plugins -> Afficher le gestionnaire de plugins -> Onglet Disponible -> Caractères TextFX -> Installer
B) 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 de SourceForge:
Ouvrez le fichier Zip et extrayez NppTextFX.dll
Placez NppTextFX.dll dans le répertoire des plugins Notepad ++, tel que:
C:\Program Files\Notepad ++\plugins
Démarrer Notepad ++, et TextFX sera l’un des éléments du menu Fichier (comme indiqué dans la réponse 1 ci-dessus de Colin Pickard)
Après avoir installé le plug-in TextFX, suivez les instructions de la réponse n ° 1 pour trier et supprimer les doublons.
En outre, envisagez de configurer un raccourci clavier avec Paramètres> Mappeur de raccourci si vous utilisez fréquemment cette commande ou souhaitez répliquer un raccourci clavier, tel que F9 dans TextPad. pour le tri.
Vous aurez peut-être besoin d'un plugin pour le faire. Vous pouvez essayer la ligne de commande cc.ddl
(supprimer les lignes en double) de ConyEdit . C'est un plugin inter-éditeur pour les éditeurs de texte, y compris Notepad ++.
ConyEdit tournant en arrière-plan, suivez les étapes ci-dessous:
cc.ddl
à la fin du texte.Aucun n'a fonctionné pour moi.
Une solution est:
Remplacer
^(.*)\s+(\r?\n\1\s+)+$
avec
\1
Recherche de 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.
Le gestionnaire de plug-ins 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, beaucoup de plugins ne sont plus disponibles (pas de plugins TextFX).
Peut-être existe-t-il un autre plugin contenant les fonctionnalités requises. Autre que cela, la seule façon de le faire dans NotePad ++ est d’utiliser des expressions rationnelles spéciales , puis de les remplacer (CTRL + F = -> Remplacer l'onglet).
Bien que de nombreuses fonctionnalités soient disponibles via l’option de menu Éditer (rognage, suppression des lignes vides, tri, conversion en EOL), il n’existe aucune opération "unique".
Si vous avez Windows 10, vous pouvez activer Bash (tapez simplement Ubuntu dans 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.