¿Es posible eliminar filas duplicadas en Notepad ++, dejando solo una sola aparición de una línea?
fuente
¿Es posible eliminar filas duplicadas en Notepad ++, dejando solo una sola aparición de una línea?
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 estar incluido en 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 esto es lo mismo
Las casillas de verificación y botones necesarios ahora aparecerá en el menú bajo: TextFX -> TextFX Tools
.
Asegúrese de que "ordenar salidas solo únicas ..." esté marcado. Luego, seleccione un bloque de texto ( Ctrl+ Apara seleccionar todo el documento). Por último, haga clic en "ordenar líneas entre mayúsculas y minúsculas" o "ordenar líneas 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:
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 marcar las opciones "Expresión regular" y ". Coincide con nueva línea":
^
coincide con el inicio de la línea.(.*?)
coincide con cualquier carácter 0 o más veces, pero lo menos 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 accesibles usando\1
$
coincide con el final de la línea.\s+?^
esta parte coincide con todos los espacios en blanco (¡nuevas líneas!) hasta el comienzo de la siguiente fila ==> Esto elimina las nuevas líneas después de la fila coincidente, de modo que no haya una fila vacía después del reemplazo.(?=.*^\1$)
Esta es una afirmación positiva 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 en otro lugar del archivo.fuente
. matches newline
hizo el truco.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
fuente
^(.*\r?\n)(\1)+
Notepad ++
-> Reemplazar ventana
Asegúrese de que en el modo de búsqueda haya seleccionado el botón de opción Expresión regular
Encontrar que:
Reemplazar con:
Antes de:
Después:
fuente
Si no le importa el orden de las filas (lo cual no creo que haga), puede usar un cuadro de Linux / FreeBSD / Mac OS X / Cygwin y hacer:
Luego abra el archivo nuevamente en Notepad ++.
fuente
'cat' is not recognized as an internal or external command, operable program or batch file.
cat yourfile | sort -Unique
Las últimas versiones de Notepad ++ aparentemente no incluyen el complemento TextFX en absoluto. Para usar el complemento para ordenar / 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) De manera más complicada, si se necesita otra versión o la forma fácil no funciona.
Descargue el complemento de SourceForge:
http://downloads.sourceforge.net/project/npp-plugins/TextFX/TextFX%20v0.26/TextFX.v0.26.unicode.bin.zip
Abra el archivo zip y extraiga NppTextFX.dll
Coloque NppTextFX.dll en el directorio de complementos de Notepad ++, como:
C: \ Archivos de programa \ Notepad ++ \ plugins
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 TextFX, siga las instrucciones en la Respuesta # 1 para ordenar y eliminar duplicados.
Además, considere configurar un método abreviado de teclado usando Configuración> Asignador de accesos directos si usa este comando con frecuencia o si desea replicar un método abreviado de teclado, como F9 en TextPad para ordenar.
fuente
C:\Users\<your_user>\AppData\Local\Notepad++\plugins\NppTextFX
. Aparte de eso, esto todavía funciona bien.En la versión 7.8, puede lograr esto sin ningún complemento: Edición -> Operaciones de línea -> Eliminar líneas duplicadas consecutivas. Tendrá que ordenar el archivo para colocar líneas duplicadas en orden consecutivo antes de que esto funcione, pero funciona de maravilla.
Las opciones de clasificación están disponibles en Edición -> Operaciones de línea -> Ordenar por ...
fuente
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:
cc.ddl
al final del texto.Ejemplo
fuente
Busque la expresión regular:
\b(\w+)\b([\w\W]*)\b\1\b
Reemplácelo con:
$1$2
Presione el botón Reemplazar hasta que no haya más coincidencias para la expresión regular en su archivo.
fuente
Ninguno funcionó para mí.
Una solución es:
Reemplazar
con
fuente
^(.*)\s+(\r?\n\1\s+)+$
no^(.*)\s*(\r?\n\1\s*)+$
?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 ya no están disponibles (sin TextFX).
Tal vez hay otro complemento que contiene la funcionalidad requerida. Aparte de eso, la única forma de hacerlo en Notepad ++ es usar una 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 (simplemente escriba Ubuntu en Microsoft Store y siga las instrucciones en la descripción para instalarlo) y utilícelo
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 consultarlo a través de su ruta.fuente