Dadurch werden Offset und Bytes in Hex gedruckt:
cmp -l file1.bin file2.bin | gawk ''
Oder machen Sie $1-1
den ersten gedruckten Offset bei 0.
cmp -l file1.bin file2.bin | gawk ''
Leider strtonum()
ist dies spezifisch für GAWK, daher müssen Sie für andere Versionen von awk - z. B. mawk - eine Oktal-Dezimal-Konvertierungsfunktion verwenden. Zum Beispiel,
cmp -l file1.bin file2.bin | mawk 'function oct2dec(oct, dec) ; return dec} '
Zur besseren Lesbarkeit ausgebrochen:
cmp -l file1.bin file2.bin | mawk 'function oct2dec(oct, dec) { for (i = 1; i <= length(oct); i++) { dec *= 8; dec += substr(oct, i, 1) }; return dec } { printf "%08X %02X %02X\n", $1, oct2dec($2), oct2dec($3) }'