web-dev-qa-db-fra.com

Trouver des doublons et tout supprimer dans le bloc-notes ++

J'ai plusieurs adresses e-mail. Je dois trouver et supprimer tout (y compris celui trouvé). Est-ce possible dans Notepad ++?

exemple: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected],

J'ai besoin de résultats comme

[email protected], [email protected], [email protected], [email protected], [email protected], [email protected],

Comment faire dans le bloc-notes ++?

8
James123

S'il est possible de changer la séquence des lignes, vous pouvez faire:

  1. triez la ligne avec Edition -> Opérations sur les lignes -> Tri des lignes lexicographiquement croissant
  2. faire une recherche/remplacement:
    • Trouver quoi: ^(.*\r?\n)\1+
    • Remplacer par: (rien, laisser vide)
    • Check Expression régulière en bas à gauche
    • Cliquez sur Remplacer tout

Comment ça marche: Le tri met les doublons les uns derrière les autres. La recherche correspond à une ligne ^(.*\r?\n) et capture la ligne dans \1, puis elle continue et tente de trouver \1 une ou plusieurs fois (+) derrière la première correspondance. Un tel bloc de doublons (s'il existe) n'est remplacé par rien. 

Le \r?\n devrait traiter correctement les fins de ligne Windows et Unix.

23
Lars Fischer

Vous avez besoin du plugin textFX. Ensuite, suivez simplement ces instructions:

Paste the text into Notepad++ (CTRL+V). ...
Mark all the text (CTRL+A). ...
Click TextFX → Click TextFX Tools → Click Sort lines case insensitive (at column)
Duplicates and blank lines have been removed and the data has been sorted alphabetically.

Personnellement, j'utiliserais sort -i -u source> dest au lieu de notepad ++

2
Steve Kolokowsky

Vous pourriez utiliser 

Cliquez sur TextFX → Cliquez sur Outils TextFX → Cliquez sur Trier les lignes sans tenir compte de la casse (en colonne) Les doublons et les lignes vierges ont été supprimés et les données triées par ordre alphabétique.

comme indiqué ci-dessus. Cependant, comme je l’ai fait, je dois remplacer les doublons par des lignes vides et non pas simplement supprimer les lignes, une fois triées par ordre alphabétique:

REPLACE:
((^.*$)(\n))(?=\k<1>)

by

$3

Cela convertira:

Shorts
Shorts
Shorts
Shorts
Shorts
Shorts Two Pack
Shorts Two Pack
Signature Braces
Signature Braces
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers
Signature Cotton Trousers

à:

Shorts

Shorts Two Pack

Signature Braces










Signature Cotton Trousers

C'est comme ça que je l'ai fait parce que j'avais spécifiquement besoin de ces lignes.

0
daviddgz