Я использую команду diff для сравнения двух текстовых файлов. Они должны быть буквально согласованы.Diff-команда: не печатает строки, которые отличаются друг от друга, но все еще говорят, что два файла отличаются друг от друга.
Так я использую диф:
diff binary.out binary.expected
(.. Кстати, эти файлы не двоичные файлы Они текстовый файл, который я называю их двоичным, потому что это название проекта)
и получил
Binary files binary.out and binary.expected differ
Когда я использую другой инструмент сравнения, самый умный из всех (AKA гул а), и между этими двумя файлами нет ничего другого.
Кто-нибудь знает, что здесь происходит?
Спасибо.
'diff' имеет узкое понятие« текст ». У вас могут быть специальные символы, которые на самом деле не такие специальные: акценты, возврат каретки. – geekosaur
Я не думаю, что у моих текстовых файлов есть специальные символы. Все, что они содержат, это слово «BINARY SUM», цифры «0» и «1» и несколько символов новой строки. Но даже в этом случае это не объясняет, в то время как diff рассмотрел мои файлы двоичных файлов. –
Если в конце каждой строки вашего файла нет последовательности LF/CR (строка/возврат каретки), то в большинстве текстовых редакторов Windows будут обрабатывать эти файлы как двоичные файлы. Эти символы невидимы, если вы просматриваете текст в текстовом режиме, но пытаетесь просмотреть файлы в двоичном режиме, и вы должны увидеть 0xD 0xA в конце каждой строки. – Flot2011