এটি হেক্সে অফসেট এবং বাইটগুলি মুদ্রণ করবে:
cmp -l file1.bin file2.bin | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}'
অথবা $1-1
প্রথম মুদ্রিত অফসেটটি 0 থেকে শুরু করতে হবে।
cmp -l file1.bin file2.bin | gawk '{printf "%08X %02X %02X\n", $1-1, strtonum(0$2), strtonum(0$3)}'
দুর্ভাগ্যক্রমে, strtonum()
GAWK- এর জন্য নির্দিষ্ট, সুতরাং awk- র অন্যান্য সংস্করণগুলির জন্য যেমন- mawk — আপনাকে অষ্টাল থেকে দশমিক রূপান্তর ফাংশন ব্যবহার করতে হবে। উদাহরণ স্বরূপ,
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)}'
পাঠযোগ্যতার জন্য ভেঙে দেওয়া:
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)
}'
od
...