Eliminar filas duplicadas en Notepad ++

¿Es posible eliminar filas duplicadas en Notepad ++, dejando solo una sola aparición de una línea?

Notepad ++ puede hacerlo, siempre que desee ordenar por línea, y eliminar las líneas duplicadas al mismo tiempo.

Necesitará el complemento TextFX. Esto solía incluirse en las versiones anteriores de Notepad ++, pero si tiene una versión más nueva, puede agregarla desde el menú yendo a Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install . En algunos casos, también se puede llamar TextFX Characters , pero esta es la misma cosa

Las casillas de verificación y los botones necesarios ahora aparecerán en el menú en: TextFX -> TextFX Tools .

Asegúrese de que esté marcada “ordenar salidas únicas …”. A continuación, seleccione un bloque de texto ( Ctrl + A para seleccionar el documento completo). Finalmente, haga clic en “ordenar las mayúsculas y minúsculas” o “ordenar las líneas sin distinción de mayúsculas y minúsculas”

diseño del menú en n ++

Desde Notepad ++ Versión 6 , puede usar esta expresión regular en el diálogo Buscar y reemplazar:

 ^(.*?)$\s+?^(?=.*^\1$) 

y reemplazar con nada Esto deja en todas las filas duplicadas la última ocurrencia en el archivo.

¡No es necesario clasificar para eso y las filas duplicadas pueden estar en cualquier parte del archivo!

Debe verificar las opciones “Expresión regular” y “. Coincide con la nueva línea”:

Notepad ++ Reemplazar el diálogo

  • ^ coincide con el inicio de la línea.

  • (.*?) coincide con cualquier carácter 0 o más veces, pero el menor número posible (coincide exactamente en la fila, esto es necesario debido a la opción “. coincide con la nueva línea”). La fila coincidente se almacena, debido a los corchetes que la rodean y a la que se puede acceder mediante \1

  • $ coincide con el final de la línea.

  • \s+?^ esta parte coincide con todos los espacios en blanco (¡nuevas!) hasta el comienzo de la siguiente fila ==> Esto elimina las nuevas líneas después de la fila coincidente, de modo que no haya ninguna fila vacía después del reemplazo.

  • (?=.*^\1$) esta es una afirmación positiva de búsqueda anticipada. Esta es la parte importante de esta expresión regular, una fila solo coincide (y se elimina), cuando hay exactamente la misma fila que sigue a otra parte del archivo.

si las filas están inmediatamente después una de la otra, entonces puede usar una expresión regular reemplazar

Patrón de búsqueda: ^(.*\r?\n)(\1)+

Reemplace con: \1

Si no le importa el orden de las filas (que no creo que tenga), puede usar un cuadro de Linux / FreeBSD / MacOSX / Cygwin y hacer:

 $ cat yourfile | sort | uniq > yourfile_nodups 

A continuación, abra el archivo nuevamente en Notepad ++.

Notepad ++

-> Reemplazar ventana

Asegúrese de que en el modo de búsqueda

ha seleccionado el botón de opción de expresión regular

Encontrar que:

^ (. *) (\ r? \ n \ 1) + $

Reemplazar con:

$ 1

antes de:

y creemos que hay

y creemos que hay

linea sola

Es posible que

Es posible que

después:

y creemos que hay

linea sola

Es posible que

Las últimas versiones de Notepad ++ aparentemente no incluyen el complemento TextFX. Para usar el complemento para clasificar / eliminar duplicados, el complemento debe descargarse e instalarse (más involucrado) o agregarse usando el administrador de complementos.

A) Manera fácil (como se describe aquí ).

Complementos -> Administrador de complementos -> Mostrar administrador de complementos -> Pestaña disponible -> Caracteres TextFX -> Instalar

B) Manera más complicada, si se necesita otra versión o la manera fácil no funciona.

  1. Descargue el complemento de SourceForge:

    http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip

  2. Abra el archivo zip y extraiga NppTextFX.dll

  3. Coloque NppTextFX.dll en el directorio de complementos de Notepad ++, como por ejemplo:
    C: \ Archivos de progtwig \ Notepad ++ \ plugins

  4. Inicie Notepad ++, y TextFX será uno de los elementos del menú de archivos (como se ve en la respuesta # 1 anterior por Colin Pickard)

Después de instalar el complemento de TextFX, siga las instrucciones de la Respuesta n.º 1 para ordenar y eliminar los duplicados.

Además, considere configurar un atajo de teclado usando Configuraciones> Shorcut mapper si usa este comando con frecuencia o si desea replicar un atajo de teclado, como F9 en TextPad para ordenar.

Ninguno funcionó para mí.

Una solución es:

Reemplazar

 ^(.*)\s+(\r?\n\1\s+)+$ 

con

 \1 

Fuente: http://sortedinf.com/?q=remove-duplicate-rows-in-notepad-plus-plus

Busque la expresión regular: \b(\w+)\b([\w\W]*)\b\1\b

Reemplázalo con: $1$2

Presione el botón Reemplazar hasta que no haya más coincidencias para la expresión regular en su archivo.

El administrador de complementos no está disponible actualmente (no viene con la distribución) para Notepad ++, debe instalarlo manualmente ( https://github.com/bruderstein/nppPluginManager/releases ) e incluso si lo hace, muchos de los complementos no están disponibles más (no TextFX) plugin.

Tal vez hay otro complemento que contiene la funcionalidad requerida. Aparte de eso, la única forma de hacerlo en NotePad ++ es usar alguna expresión regular especial para hacer coincidir y luego reemplazar ( CTRL + F -> pestaña Reemplazar).

Aunque hay muchas funcionalidades disponibles a través del elemento de menú Edición (recorte, eliminación de líneas vacías, clasificación, conversión de EOL), no hay una operación “única” disponible.

Si tiene Windows 10, puede activar Bash (simplemente escriba Ubuntu en Microsoft Store y siga las instrucciones en la Descripción para instalarlo) y use cat your_file.txt | sort | uniq > your_file_edited.txt cat your_file.txt | sort | uniq > your_file_edited.txt cat your_file.txt | sort | uniq > your_file_edited.txt . Por supuesto, debe estar en el mismo directorio de trabajo que “su_archivo.txt” o referirse a él a través de su ruta.

Es posible que necesite un complemento para hacer esto. Puede probar la línea de comando cc.ddl (eliminar líneas duplicadas) de ConyEdit . Es un complemento de editor cruzado para los editores de texto, incluido Notepad ++.

Con ConyEdit ejecutándose en segundo plano, siga los pasos a continuación:

  1. ingrese la línea de comando cc.ddl al final del texto.
  2. copia el texto y la línea de comando.
  3. pegar, entonces verá lo que quiere.

Ejemplo
enter image description here

    Intereting Posts