notepad++ - repetidos - textfx
Eliminando filas duplicadas en Notepad++ (10)
¿Es posible eliminar filas duplicadas en Notepad ++, dejando solo una aparición de una línea?
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 (sin TextFX) plugin.
Tal vez haya otro plugin que contenga 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 -> Reemplazar pestaña).
Aunque hay muchas funcionalidades disponibles a través del elemento del menú Editar (recortar, eliminar líneas vacías, ordenar, convertir EOL), no hay una operación "única" disponible.
Si tiene Windows 10, puede habilitar Bash (solo 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 "your_file.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 comandos 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:
-
cc.ddl
línea de comandocc.ddl
al final del texto. - Copia el texto y la línea de comando.
- Pega, entonces verás lo que quieras.
Las últimas versiones de Notepad ++ aparentemente no incluyen el complemento TextFX. Para utilizar el complemento para ordenar / eliminar duplicados, el complemento debe ser descargado e instalado (más involucrado) o agregado mediante el administrador de complementos.
A) De manera fácil (como se describe here ).
Complementos -> Administrador de complementos -> Mostrar Administrador de complementos -> Pestaña Disponible -> Caracteres de TextFX -> Instalar
B) Manera más complicada, si se necesita otra versión o la forma fácil no funciona.
Descargue el plugin desde SourceForge:
Abra el archivo zip y extraiga NppTextFX.dll
Coloque NppTextFX.dll en el directorio de complementos de Notepad ++, como por ejemplo:
C: / Archivos de programa / Notepad ++ / pluginsInicie Notepad ++, y TextFX será uno de los elementos del menú del archivo (como se ve en la Respuesta # 1 más arriba por Colin Pickard)
Después de instalar el complemento TextFX, siga las instrucciones en la Respuesta # 1 para ordenar y eliminar los duplicados.
Además, considere la posibilidad de configurar un método abreviado de teclado utilizando Configuración> Asignador de corte corto si usa este comando con frecuencia o si desea replicar un método abreviado de teclado, como F9 en TextPad para la clasificación.
Ninguno trabajó para mí.
Una solución es:
Reemplazar
^(.*)/s+(/r?/n/1/s+)+$
con
/1
Si las filas están inmediatamente una detrás de la otra, entonces puede usar un reemplazo de expresiones regulares
Patrón de búsqueda: ^(.*/r?/n)(/1)+
Reemplazar con: /1
Si no le importa el orden de las filas (lo que no creo que haga), entonces puede usar una caja de Linux / FreeBSD / MacOSX / Cygwin y hacer:
$ cat yourfile | sort | uniq > yourfile_nodups
Luego abra el archivo nuevamente en Notepad ++.
Bloc de notas ++
-> Reemplazar ventana
Asegúrese de que en el modo de búsqueda
Has seleccionado el botón de radio Expresión regular
Encontrar que:
^ (. *) (/ r? / n / 1) + $
Reemplazar con:
$ 1
antes de:
y pensamos que hay
y pensamos que hay
linea sola
Es posible que
Es posible que
después:
y pensamos que hay
linea sola
Es posible que
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 clasificación para eso y las filas duplicadas pueden estar en cualquier parte del archivo.
Debe marcar 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 nueva línea"). La fila coincidente se almacena, debido a los corchetes alrededor y accesibles utilizando/1
$
coincide con el final de la línea./s+?^
esta parte coincide con todos los caracteres de espacio en blanco (¡nuevas líneas!) hasta el comienzo de la siguiente fila ==> Esto elimina las nuevas líneas 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 búsqueda anticipada positiva. Esta es la parte importante en esta expresión regular, una fila solo se empareja (y se elimina), cuando hay exactamente la misma fila que sigue en otra parte del archivo.
Notepad ++ puede hacer esto, 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 versiones anteriores de Notepad ++, pero si tiene una versión más reciente, puede agregarla desde el menú yendo a Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install
. En algunos casos, también pueden llamarse TextFX Characters
, pero esto es lo mismo
Las casillas de verificación y los botones requeridos ahora aparecerán en el menú debajo de: TextFX -> TextFX Tools
.
Asegúrese de que la opción "ordenar salidas solo sea única ..." esté marcada. A continuación, seleccione un bloque de texto ( Ctrl + A para seleccionar todo el documento). Por último, haga clic en "ordenar líneas con mayúsculas y minúsculas" o "ordenar líneas con mayúsculas y minúsculas"