Diff es una gran herramienta para mostrar los cambios entre dos archivos. Pero, ¿cómo mostrar las similitudes de dos archivos de texto (ignorando las diferencias)?
Es decir. entrada de muestra:
a:
Foo Bar
X
Hello
World
42
b:
Foo Baz
Hello
World
23
Pseudosalida (algo como esto):
@@ 2,3
=Hello World
Ordenar ambos archivos y usar comm no es suficiente, porque en ese caso se pierde la información de la línea.
Respuesta aceptada:
¿Qué tal usar diff, aunque no quieras una diferencia? Prueba esto:
diff --unchanged-group-format='@@ %dn,%df
%<' --old-group-format='' --new-group-format=''
--changed-group-format='' a.txt b.txt
Esto es lo que obtengo con sus datos de muestra:
$ cat a.txt
Foo Bar
X
Hello
World
42
$ cat b.txt
Foo Baz
Hello
World
23
$ diff --unchanged-group-format='@@ %dn,%df
%<' --old-group-format='' --new-group-format=''
--changed-group-format='' a.txt b.txt
@@ 2,3
Hello
World