[英]compare binary files and print only offset of matching line
对于常规文件,我可以使用comm
命令查找常见行。
例如我们有两个文件
$ cat f1
line1
line2
line3
line4
line5
$ cat f2
line1
line20
line30
line4
line5
其比较像:
$ comm -12 f1 f2
line1
line4
line5
如何找到匹配行的偏移量,以及如何比较两个二进制文件并打印匹配行的偏移量?
我过去1个小时一直在使用diff
, cmp
, comm
类的东西,无法弄清楚。
编辑1:不是确切的解决方案,但发现vbindiff有所帮助。
您可能正在寻找cmp
:
cmp-逐字节比较两个文件
$ 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
输出字节数和不同的字节值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.