LINUX.ORG.RU

Шестнадцатеричный вывод cmp


0

0

При сравнении файлов cmp -l выводит различающиеся байты в восьмеричном виде, а адреса в десятичном, начиная с 1. Как заставить его выводить в шестнадцатеричном и начиная с 0?

★★★★★
Ответ на: комментарий от lonki-lomki

Я надеялся, что cmp это умеет, но всё равно, спасибо.

Не совсем понял: printf -- утилита, или функция перла?

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

В данном примере prinft это функция перла, вызвать для каждой строки /usr/bin/printf накладно, но, в баше printf тоже встроенный, поэтому можно так, если, допустим, нету perl'а:

cmp -l file1 file2 | while read L A B ; do printf "%X %X %X\n" $((L-1)) 0$A 0$B ; done

mky ★★★★★
()
Ответ на: комментарий от mky

> сmp -l file1 file2 | while read L A B ; do printf "%X %X %X\n" $((L-1)) 0$A 0$B ; done

Спасибо.

question4 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.