答案1
这个解释似乎比您引用的上述两个更有意义。
摘录-https://www.gnu.org/software/diffutils/manual/html_node/diff-Performance.html
通常 diff 在尝试查找最小差异集之前会丢弃两个文件共有的前缀和后缀。这使得 diff 运行得更快,但有时它可能会产生非最小输出。 --horizon-lines=lines 选项可防止 diff 丢弃前缀的最后几行和后缀的第一行。这为 diff 提供了更多机会来找到最小输出。
假设一系列已更改的线在一端包含一系列线,并且在另一端的外部存在相同的线序列。 diff 命令可以自由选择块中包含哪个相同的序列。在这种情况下,当合并相邻块时, diff 通常会移动块的边界,或者将块的行移向文件末尾。在某些情况下,合并帅哥可以使输出看起来更好。
对“行lines”的引用意味着X行数。因此,请在心里再次阅读该句子,但在“lineslines”处说“Xlines”。 X 将对应于作为参数传递给 的数字diff --horizon-lines=lines
。
我上面引用的第二段解释了指定选项的区别。