5

Чтобы поделиться файлом конфигурации между двумя компьютерами, я отправил его мне по электронной почте через свою учетную запись gmail. Когда я загрузил файл conf на второй компьютер, у программы возникли проблемы с чтением каждой строки. Подозревая проблему с символами новой строки (dos vs unix style), я открыл файл в gvim. Я не видел там никаких ^ M, как я подозревал. «Сет-лист» не показал ничего странного - просто текст файла с каждой строкой, оканчивающейся на «$», как я ожидал. Смотрится отлично. Кошка файла выглядит так, как я ожидал.

В отчаянии я убрал файл с дороги и вручную перепечатал содержимое файла в сеансе с разделенным vim (всего около 20 строк). Я запустил gvim -d для двух файлов, и это не показало различий.

Я запустил программу, которая использует конфигурационный файл, и, конечно же, теперь он мог читать только что напечатанный файл.

Я md5sum'd два файла, и они действительно имеют разные суммы. Я запустил diff для исходного файла и вновь напечатанного файла, и он показывает, что каждая строка файлов отличается. Но я не вижу никакой разницы в выходе.

Итак, мне любопытно: какой инструмент я могу использовать, чтобы увидеть различия между этими двумя файлами? gvim -d не показывает различий, а diff показывает, что все они разные, но вывод выглядит одинаково.

Если бы я мог прикрепить два файла, я бы.

2 ответа2

4

Я думаю, что более простой способ - просто передать ваш вывод diff через cat -t

diff file1 file2 | cat -t

Этот метод также работает просто с различными инструментами контроля версий

bzr diff | cat -t
4

Используйте od -c чтобы вывести каждый файл как шестнадцатеричный, а затем сравнить результаты.

od -c file1 > file1.hex
od -c file2 > file2.hex
diff file1.hex file2.hex

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .