gpt4 book ai didi

linux - 比较二进制文件并仅打印匹配行的偏移量

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:54 25 4
gpt4 key购买 nike

对于常规文件,我可以使用 comm 命令来查找公共(public)行。

例如我们有两个文件

$ cat f1
line1
line2
line3
line4
line5

$ cat f2
line1
line20
line30
line4
line5

比较起来像:

$ comm -12 f1 f2
line1
line4
line5

如何找到匹配行的偏移量以及如何对两个二进制文件进行比较并打印匹配行偏移量?

在过去的 1 小时里,我一直在使用 diffcmpcomm 之类的东西,无法解决这个问题。

编辑 1:不是确切的解决方案,但发现 vbindiff 它有点帮助。

最佳答案

您可能正在寻找 cmp:

cmp - compare two files byte by byte

$ 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

print differing bytes

-l, --verbose

output byte numbers and differing byte values

关于linux - 比较二进制文件并仅打印匹配行的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27816790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com