Eu tenho dois arquivos que contêm essencialmente um despejo de memória em um formato hexadecimal. No momento eu uso diff para ver se os arquivos são diferentes e onde estão as diferenças. No entanto, isso pode ser enganoso ao tentar determinar a localização exata (ou seja, endereço de memória) da diferença. Considere o exemplo a seguir, mostrando os dois arquivos lado a lado.
file1: file2:
0001 | 0001
ABCD | FFFF
1234 | ABCD
FFFF | 1234
Agora diff -u
mostrará uma inserção e uma exclusão, embora três linhas (localizações da memória) tenham sido alteradas entre os dois arquivos:
0001
+FFFF
ABCD
1234
-FFFF
Existe uma maneira fácil de comparar os dois arquivos, de modo que cada linha seja comparada apenas com a mesma linha (em termos de numeração de linha) no outro arquivo? Portanto, neste exemplo, ele deve relatar que as três últimas linhas foram alteradas, juntamente com as linhas alteradas de file1
e file2
. A saída não precisa ser do estilo diff, mas seria legal se pudesse ser colorida (no momento em que eu colorir a diff -u
saída usando sed
para que possa ser facilmente adaptada).
fonte
diff
funciona. Você pode tentar o programa gui,meld
que mostra os dois arquivos lado a lado. Comomeld <(nl file1) <(nl file2)