Tengo dos archivos que esencialmente contienen volcados de memoria en formato hexadecimal. Por el momento, uso diff para ver si los archivos son diferentes y dónde están las diferencias. Sin embargo, esto puede ser engañoso cuando se trata de determinar la ubicación exacta (es decir, la dirección de memoria) de la diferencia. Considere el siguiente ejemplo que muestra los dos archivos uno al lado del otro.
file1: file2:
0001 | 0001
ABCD | FFFF
1234 | ABCD
FFFF | 1234
Ahora diff -u
mostrará una inserción y una eliminación, aunque 3 líneas (ubicaciones de memoria) han cambiado entre los dos archivos:
0001
+FFFF
ABCD
1234
-FFFF
¿Hay una manera fácil de comparar los dos archivos de manera que cada línea solo se compare con la misma línea (en términos de numeración de líneas) en el otro archivo? Entonces, en este ejemplo, debería informar que las últimas 3 líneas han cambiado, junto con las líneas cambiadas de file1
y file2
. La salida no tiene que ser de estilo diff, pero sería genial si pudiera colorearse (en este momento coloreo la diff -u
salida usando sed
para que pueda adaptarse fácilmente).
diff
funciona. Puede probar el programa guimeld
que muestra los dos archivos uno al lado del otro. Como enmeld <(nl file1) <(nl file2)