diff -sを試してください
短い答え:スイッチで実行diff
し-s
ます。
長い答え:以下をお読みください。
ここに例があります。ランダムなバイナリコンテンツを持つ2つのファイルを作成することから始めましょう。
$ dd if=/dev/random bs=1k count=1 of=test1.bin
1+0 records in
1+0 records out
1024 bytes (1,0 kB, 1,0 KiB) copied, 0,0100332 s, 102 kB/s
$ dd if=/dev/random bs=1k count=1 of=test2.bin
1+0 records in
1+0 records out
1024 bytes (1,0 kB, 1,0 KiB) copied, 0,0102889 s, 99,5 kB/s
次に、最初のファイルのコピーを作成します。
$ cp test1.bin copyoftest1.bin
これでtest1.binとtest2.binは異なるはずです。
$ diff test1.bin test2.bin
Binary files test1.bin and test2.bin differ
...とtest1.binとcopyoftest1.binは同一でなければなりません:
$ diff test1.bin copyoftest1.bin
ちょっと待って!なぜ出力がないのですか?!?
答えは、これは仕様によるものです。同一のファイルに関する出力はありません。
しかし、さまざまなエラーコードがあります。
$ diff test1.bin test2.bin
Binary files test1.bin and test2.bin differ
$ echo $?
1
$ diff test1.bin copyoftest1.bin
$ echo $?
0
幸いなことに、-s
(または--report-identical-files
)スイッチを使用してdiffをより冗長にすることができるため、毎回エラーコードを確認する必要はありません。
$ diff -s test1.bin copyoftest1.bin
Files test1.bin and copyoftest1.bin are identical