Notepad++: Cómo conservar solo líneas recurrentes y eliminar líneas que no se repiten

Notepad++: Cómo conservar solo líneas recurrentes y eliminar líneas que no se repiten

Digamos que tuve:

Example
Example
1
1
3

deseado:

Example
1

Respuesta1

Suponiendo que su archivo esté ordenado y terminado con una línea vacía


  • Ctrl+H
  • Encontrar que:^(.+\R)(\1)*
  • Reemplazar con:$2
  • GARRAPATA caso de partido
  • GARRAPATA Envolver alrededor
  • SELECCIONAR Expresión regular
  • DESMARCAR . matches newline
  • Replace all

Explicación:

^           # 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

Reemplazo:

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

Captura de pantalla (antes):

ingrese la descripción de la imagen aquí

Captura de pantalla (después):

ingrese la descripción de la imagen aquí

Respuesta2

La siguiente solución requiere que las líneas duplicadas estén contenidas en una secuencia en el archivo.

Para eliminar líneas únicas encontré la publicación.
Busque y MANTENGA todas las líneas DUPLICADAS (en lugar de líneas únicas) en un archivo de texto.

Según la respuesta y los comentarios de la publicación, lo siguiente eliminará las líneas únicas.

En el cuadro de diálogo Buscar y reemplazar ( Ctrl+ H), haga esto:

buscar que:^((.*)\R(\2\R?)+)*\K.*?\n
Reemplazar con: nada
Modo de búsqueda: Expresión regular
. coincide con nueva línea: comprobado

Haga clic en Reemplazar todo para eliminar las líneas únicas.

Para eliminar líneas duplicadas, consulte la publicación. Bloc de notas eliminar líneas duplicadas.

información relacionada