Mam 3 pliki binarne. Nazwijmy je: file1.bin
, file2.bin
i file3.bin
.Diff dla 3 plików binarnych
file1.bin
ifile2.bin
mają niektóre części wspólne.file2.bin
ifile3.bin
mają niektóre wspólne części.
Chcę znaleźć części wspólnych między file1.bin
i file2.bin
które różnią się między file2.bin
i file3.bin
.
Jak to zrobić, aby to osiągnąć? Już porzuciłem pliki binarne do plików tekstowych przy użyciu xxd
, a następnie zrobiłem trójdrożną różnicę przy użyciu vim -d file1.txt file2.txt file3.txt
.
Jednak vim
oznacza część zmienioną we wszystkich plikach, nawet jeśli zmieniła się tylko w jednym pliku i pozostaje taka sama w pozostałych dwóch plikach. Chcę, aby te specjalne rodzaje zdarzeń były oznaczone inaczej.
Czy można to zrobić w 3 sposób w sposób opisany w problemie? Nie mogę się dowiedzieć, jak to opisać? – Dimme
bsdiff działa na plikach binarnych i tworzy łatę binarną. vimdiff oczekuje na pliki tekstowe jako dane wejściowe, więc nie mogę wymyślić sposobu, aby bsdiff działał tak, jak byś chciał. Alternatywnie, zobacz, czy możesz użyć opcji '' 'diffexpr''' do przekonwertowania vima, aby użyć dodatkowych ustawień dla programu diff podczas generowania brył dla plików binarnych - może użyj opcji '' -I'' do '' diff'' określa wyrażenie regularne dla "linii", które powinno być zignorowane, gdy robisz diff. – holygeek