12/06/2017

Eliminar líneas duplicadas con Notepad++

Necesito eliminar líneas duplicadas de un archivo de texto. Si no me importa el orden de las líneas en el archivo, puedo usar el método descrito en esta entrada.
En cambio, si el orden es relevante, necesitaré usar este método, que utiliza expresiones regulares:
  1. Abrir el menú Buscar --> Reemplazar...
  2. Marcar las opciones "Buscar en todo en documento", "Exporesión regular" y ". se ajusta a línea"
  3. Reemplazar con la cadena vacía exactamente lo siguiente:
    ^(.*?)$\s+?^(?=.*^\1$)

El truco lo he sacado de este hilo de stackoverflow, pero allí hay gente que dice que no le funciona y aportan otras soluciones. A mí si que me ha funcionado en las pruebas que he hecho.

10 comentarios:

  1. Muchas gracias!!! a mi me funciono bien en la versión 7.5.1
    Saludos

    ResponderEliminar
  2. ¡Funcionó perfecto, muchas gracias! v.6.4.3

    ResponderEliminar
  3. Funciona solo para lineas repatidas consecutives, por lo que deberia hacer in sort primero, TextFX tools, plug in puede solucionar https://stackoverflow.com/questions/3958350/removing-duplicate-rows-in-notepad o utilizando excel (remove duplicates) en mi caso no me sirve excel porque las lineas continen operadores matemáticos al inicio. espero les ayude

    ResponderEliminar
  4. No me funciona el truco, me borra directamente todas las lineas. Conoces otra forma de hacerlo? Gracias!!!!!!!!!

    ResponderEliminar
    Respuestas
    1. El truco sigue funcionando en la versión 7.6 de Notepad++.
      Tienes que tener en cuenta que, como para mi necesidad el orden es relevante, solo se borran las líneas duplicadas si son consecutivas. Es decir, que si aplicamos el truco al texto:

      XX
      XX
      Hola
      XX
      Hola

      El resultado será:

      XX
      Hola
      XX
      Hola

      Eliminar
    2. Gracias. Funciono muy bien!

      Eliminar
  5. Para que funcione, primero tienes que ordenar las filas de menor a mayor, así las similares quedan una debajo de la otra, luego aplicas lo que indica el post. y listo!

    ResponderEliminar
    Respuestas
    1. No, Santos, no hace falta.
      Lo bueno de este método es que no necesita ordenar de menor a mayor para funcionar.

      Eliminar
    2. Si hace falta, porque cómo bien mencionaste en el 2018, si no lo ordenas, borrará TODO, ya qué es necesario tener las líneas repetidas una abajo de otra. Y al hacer ese orden de filas, ya el método funciona, para los qué tienen ese problema de tener líneas separadas.

      Eliminar