Notepad ++ Comparar dos archivos y eliminar

12

Digamos que tengo dos archivos. file1.txt y file2.txt

Ambos archivos contienen una lista de marcas de calzado (más de 1000 nombres), como esta:

marca1 marca2 marca3 marca ...

Ahora, quiero comparar el archivo1 con el archivo2, eliminar todas las entradas recurrentes y solo mostrarme qué hay en los archivos1 que no están en el archivo2 y viceversa.

El objetivo en otras palabras es ver lo que no está en el archivo opuesto ya que estas entradas se escribirán manualmente en una oficina de producto para dos categorías diferentes para que coincidan / sean las mismas al final.

Kristian
fuente
2
OMI, esto sería mucho más fácil de lograr en Excel si puede copiar todos sus datos en él o guardar los TXT como CSV. Puede ordenar, eliminar duplicados fácilmente y estoy seguro de que la comparación de columnas tampoco sería difícil de lograr.
Karan
El siguiente enlace puede ser útil: superuser.com/a/290445
akjain

Respuestas:

7

¿El complemento "Comparar" de Notepad ++ haría el truco?

Puede instalarlo desde el menú de complementos de Notepad ++ => Administrador de complementos => Comparar 1.5.6

Aquí está la descripción oficial: un complemento diff muy útil para mostrar la diferencia entre 2 archivos (uno al lado del otro). Autor: Ty Landercasper, ahora mantenido y actualizado por Jean-Sebastien Leroy Fuente: http://sourceforge.net/projects/npp-plugins/files/ComparePlugin/Compare_1_5_5_src.zip/download

Fabien
fuente
2
Desafortunadamente, no creo que lo haga. El complemento Comparar simplemente resalta las diferencias entre dos archivos, pero no ofrece herramientas para realizar selecciones o ediciones en función de sus resultados. Aunque ciertamente es útil, me temo que la tarea sigue siendo muy tediosa para más de mil marcas.
Marca Thomas
3

Una vieja pregunta, pero ...

  1. Compare los archivos en WinMerge
  2. Herramientas -> Generar parche (guardar esto)
  3. El parche tiene cambios de ambos, pero también marcado adicional. En notepad ++, haga lo siguiente reemplaza:

        Search Mode:  Regular Expression
        Find What:    ^[0-9-].*$
        Replace With: <blank>
        Replace All
    

    .

        Search Mode:  Regular Expression
        Find What:    (<|>)
        Replace With: <blank>
        Replace All
    
  4. Utilice el complemento TextFX en notepad ++, haga una ordenación Herramientas-> sin distinción entre mayúsculas y minúsculas (opción UNIQUE de salida seleccionada) o Edición-> Eliminar líneas en blanco

Un poco sucio, pero aún no he encontrado una herramienta que haga esto con un solo clic.

James King
fuente
0

Si Unix está disponible para usted, puede probar estas combinaciones simples de comandos simples; tr, ordenar y comm.

Primero, convierta el archivo de horizontalmente a verticalmente separado:

tr '[:blank:]' '\n' < file1.txt > /tmp/file1.vertical
tr '[:blank:]' '\n' < file2.txt > /tmp/file2.vertical

Luego ordena los archivos:

sort /tmp/file1.vertical > /tmp/file1.sorted
sort /tmp/file2.vertical > /tmp/file2.sorted

Ahora puede ver lo que hay en el archivo1 que no está en el archivo2

comm -23 /tmp/file1.sorted /tmp/file2.sorted

O vea lo que hay en el archivo2 que no está en el archivo1

comm -13 /tmp/file1.sorted /tmp/file2.sorted

Si desea la salida en el mismo formato horizontal con el que comenzó, puede hacer esto:

comm -23 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '
comm -13 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '

Cuando haya terminado, puede eliminar los archivos temporales que creó:

rm /tmp/file1.vertical /tmp/file2.vertical /tmp/file1.sorted /tmp/file2.sorted
eric
fuente