3

通常のファイルの場合、commコマンドを使用して共通行を見つけることができます。

たとえば、2 つのファイルがあるとします。

$ cat f1
line1
line2
line3
line4
line5

$ cat f2
line1
line20
line30
line4
line5

その比較は次のとおりです。

$ comm -12 f1 f2
line1
line4
line5

一致する行のオフセットを見つける方法と、2 つのバイナリ ファイルを比較して一致する行のオフセットを出力する方法は?

diffcmpcomm過去1時間、これを理解できずに使用しています。

編集 1: 正確な解決策ではありませんが、vbindiff が見つかりました。

4

1 に答える 1

7

あなたはおそらく探しているcmp

cmp - 2 つのファイルをバイト単位で比較する

$ cmp f1 f2
f1 f2 differ: byte 12, line 2

$ cmp -b f1 f2
f1 f2 differ: byte 12, line 2 is  12 ^J  60 0

$ cmp -bl f1 f2
12  12 ^J    60 0
13 154 l     12 ^J
14 151 i    154 l
15 156 n    151 i
16 145 e    156 n
17  63 3    145 e
18  12 ^J    63 3
19 154 l     60 0
20 151 i     12 ^J
21 156 n    154 l
22 145 e    151 i
23  64 4    156 n
24  12 ^J   145 e
25 154 l     64 4
26 151 i     12 ^J
27 156 n    154 l
28 145 e    151 i
29  65 5    156 n
30  12 ^J   145 e
cmp: EOF on f1

からman cmp:

-b、 --print-bytes

異なるバイトを出力する

-l、 --verbose

出力バイト番号と異なるバイト値

于 2015-01-07T10:12:32.323 に答える