Notepad++: So behalten Sie nur wiederkehrende Zeilen und löschen nicht wiederkehrende Zeilen

Notepad++: So behalten Sie nur wiederkehrende Zeilen und löschen nicht wiederkehrende Zeilen

Angenommen, ich hätte:

Example
Example
1
1
3

gewünscht:

Example
1

Antwort1

Angenommen, Ihre Datei ist sortiert und endet mit einer leeren Zeile


  • Ctrl+H
  • Finde was:^(.+\R)(\1)*
  • Ersetzen mit:$2
  • TICK Groß-/Kleinschreibung beachten
  • TICK Umwickeln
  • WÄHLEN Regulären Ausdruck
  • Häkchen entfernen . matches newline
  • Replace all

Erläuterung:

^           # beginning of line
    (           # group 1
        .+          # 1 or more any character but newline
        \R          # any kind of linebreak
    )           # end group 1
    (           # group 2
        \1          # backreference to group 1 (i.e. same value as captured in group 1)
    )*          # end group 2, may appear 0 or more times

Ersatz:

$2          # content of group 2, will be empty if there are no duplicates

Screenshot (vorher):

Bildbeschreibung hier eingeben

Screenshot (nachher):

Bildbeschreibung hier eingeben

Antwort2

Die folgende Lösung erfordert, dass doppelte Zeilen in einer Sequenz in der Datei enthalten sind.

Um eindeutige Zeilen zu entfernen, habe ich den Beitrag gefunden
Suchen und BEHALTEN Sie alle DOPPELTEN Zeilen (anstelle von eindeutigen Zeilen) in einer Textdatei.

Basierend auf der Antwort und den Kommentaren im Beitrag werden im Folgenden die eindeutigen Zeilen entfernt.

Gehen Sie im Dialogfeld „Suchen und Ersetzen“ ( Ctrl+ H) wie folgt vor:

Suche was:^((.*)\R(\2\R?)+)*\K.*?\n
Ersetzen mit: Nichts
Suchmodus: Regulären Ausdruck
. entspricht einer neuen Zeile: geprüft

Klicken Sie auf „Alle ersetzen“, um die eindeutigen Zeilen zu löschen.

Informationen zum Entfernen doppelter Zeilen finden Sie im Beitrag Notizblock löscht doppelte Zeilen.

verwandte Informationen