У меня есть два файла, которые по существу содержат дампы памяти в шестнадцатеричном формате. На данный момент я использую diff, чтобы увидеть, отличаются ли файлы и где различия. Однако это может вводить в заблуждение при попытке определить точное местоположение (то есть адрес памяти) разницы. Рассмотрим следующий пример, показывающий два файла рядом.
file1: file2:
0001 | 0001
ABCD | FFFF
1234 | ABCD
FFFF | 1234
Теперь diff -u
покажет одну вставку и одно удаление, хотя между двумя файлами изменились 3 строки (области памяти):
0001
+FFFF
ABCD
1234
-FFFF
Есть ли простой способ сравнить два файла так, чтобы каждая строка сравнивалась только с одной и той же строкой (с точки зрения нумерации строк) в другом файле? Таким образом, в этом примере он должен сообщить, что последние 3 строки изменились вместе с измененными строками из file1
и file2
. Вывод не обязательно должен быть в стиле diff, но было бы здорово, если бы он мог быть цветным (в данный момент я окрашиваю diff -u
вывод, используя его sed
так, чтобы его можно было легко адаптировать).
источник
diff
работает. Вы можете попробовать программу gui,meld
которая показывает два файла рядом. Как вmeld <(nl file1) <(nl file2)