簡體   English   中英

比較二進制文件並僅打印匹配行的偏移量

[英]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個小時一直在使用diffcmpcomm類的東西,無法弄清楚。

編輯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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM