LoginSignup
1
2

More than 5 years have passed since last update.

linux > バイナリファイル > 異なる部分だけ表示する > cmp -l src.bit dst.bit | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}' | less

Last updated at Posted at 2015-03-24

動作確認

CentOS 6.5

2つのバイナリファイルの違う部分だけ表示するには以下のコマンドを実行する。
参考

$ cmp -l src.bit dst.bit | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}' | less
0003CD80 02 00
0003CD81 08 00
0003CD84 00 08
...

strtonum()において0を$2$3の前に入れているのは、もともとが8進数として与えられているからだと思われる。

$cmp実行結果が

cmp: EOF on src.bit

となった場合は、src.bit全部がdst.bitに含まれていて、dst.bitにはさらにバイナリデータが続くということを意味する。
参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2