Solución:
Notepad ++ con el complemento TextFX puede hacer esto, siempre que desee ordenar por línea y eliminar las líneas duplicadas al mismo tiempo.
Para instalar TextFX en la última versión de Notepad ++, debe descargarlo desde aquí: https://sourceforge.net/projects/npp-plugins/files/TextFX
El complemento TextFX solía estar incluido en versiones anteriores de Notepad ++, o se puede agregar 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 esto es lo mismo.
Las casillas de verificación y los botones necesarios aparecerán ahora en el menú debajo de: TextFX -> TextFX Tools
.
Asegúrese de que la opción “ordenar las salidas solo de forma única …” esté marcada. A continuación, seleccione un bloque de texto (control+A para seleccionar todo el documento). Por último, haga clic en “ordenar líneas que distinguen entre mayúsculas y minúsculas” o “ordenar líneas que distinguen entre mayúsculas y minúsculas”.
Desde Notepad ++ Versión 6 puede usar esta expresión regular en el diálogo de búsqueda y reemplazo:
^(.*?)$s+?^(?=.*^1$)
y reemplazar con nada. Esto deja de todas las filas duplicadas la última aparición en el archivo.
¡No se necesita ordenar 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”:
-
^
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 alrededor y se puede acceder mediante1
-
$
coincide con el final de la línea. -
s+?^
esta parte coincide con todos los caracteres de espacio en blanco (¡líneas nuevas!) Hasta el comienzo de la siguiente fila ==> Esto elimina las líneas nuevas después de la fila correspondiente, de modo que no haya una fila vacía después del reemplazo. -
(?=.*^1$)
esta es una afirmación de anticipación positiva. Esta es la parte importante de esta expresión regular, una fila solo se empareja (y se elimina) cuando hay exactamente la misma fila a continuación en otro lugar del archivo.
Si las filas están inmediatamente una detrás de la otra, puede usar un reemplazo de expresiones regulares:
Patrón de búsqueda: ^(.*r?n)(1)+
Reemplazar con: 1