比较文件的各个部分

比较文件的各个部分

我有5个文件

file1 - 32 bytes
file2 - 32 bytes
file3 - 32 bytes
file4 - 32 bytes

file5 - 128 bytes

我想比较数据之间是否匹配

file1 - first 32 bytes of file5
file2 - 2nd 32 bytes of file 5 i.e from 32- 64 bytes
file3-  3rd 32 bytes of file 5 i.e from 64-96 bytes 
file4-  4th 32 bytes of file5 i.e from 96 -128 bytes

我可以使用比较前 32 个字节

cmp -n 32 file1.txt file5.txt

但还坚持其他 3 个数据比较吗?有人可以帮我吗?

答案1

  • dd

通过跳过块来提取零件。

 dd bs=32 count=1 skip=1 if=file5 | diff - file2

相应地增加跳过块的数量以匹配其他文件。

  • split

文件很小,不会占用太多空间。将大的分成几部分并比较它们:

split -b 32 file5
diff xab file2
  • 一次全部

也许他们都匹配?当然,如果只有其中一个不匹配,这就会丢失:

 cat file{1..4}  | diff  - file5

当然,cmp代替“diff”也可以。

相关内容