Diff 文件头

Ric*_*ard 11 diff

我有两个文件。我怀疑一个文件是另一个文件的子集。有没有办法区分文件以(以简洁的方式)识别第二个文件在第一个文件中的位置?

Bru*_*ger 14

diff -e bigger smaller 可以解决问题,但需要一些解释,因为输出是“有效的 ed 脚本”。

我制作了两个文件,“更大”和“更小”,其中“更小”的内容与“更大”的第 5 到第 9 行相同,做`diff -e更大更小”得到了我:

% diff -e bigger smaller
10,15d
1,4d
Run Code Online (Sandbox Code Playgroud)

这意味着“删除 'bigger' 的第 10 到 15 行,然后删除第 1 到 4 行,以获得 'smaller'”。这意味着“较小”是“较大”的第 5 行到第 9 行。

反转文件名让我变得更复杂。如果“较小”确实构成“较大”的子集,则输出中只会显示“d”(用于删除)命令。


ter*_*don 5

您可以使用meld直观地执行此操作。不幸的是,它是一个 GUI 工具,但如果您只想在一个相对较小的文件上执行此操作,应该没问题:

下图是输出meld a b

在此处输入图片说明