diff --horizo​​n-lines=行解释

diff --horizo​​n-lines=行解释

diff我在同一个选项上发现了这两个引号--horizon-lines=lines

不要丢弃最后几行公共前缀和公共后缀的第一行[来源]

上面的引用链接到此处的下一个引用以获取更多解释:

--horizon-lines=lines选项防止diff丢弃最后一行字首和第一行 后缀[来源]

有人可以解释一下这可能意味着什么吗?尤其是“常见的字首和公共的第一行后缀

答案1

这个解释似乎比您引用的上述两个更有意义。

摘录-https://www.gnu.org/software/diffutils/manual/html_node/diff-Performance.html

通常 diff 在尝试查找最小差异集之前会丢弃两个文件共有的前缀和后缀。这使得 diff 运行得更快,但有时它可能会产生非最小输出。 --horizo​​n-lines=lines 选项可防止 diff 丢弃前缀的最后几行和后缀的第一行。这为 diff 提供了更多机会来找到最小输出。

假设一系列已更改的线在一端包含一系列线,并且在另一端的外部存在相同的线序列。 diff 命令可以自由选择块中包含哪个相同的序列。在这种情况下,当合并相邻块时, diff 通常会移动块的边界,或者将块的行移向文件末尾。在某些情况下,合并帅哥可以使输出看起来更好。

对“行lines”的引用意味着X行数。因此,请在心里再次阅读该句子,但在“lineslines”处说“Xlines”。 X 将对应于作为参数传递给 的数字diff --horizon-lines=lines

我上面引用的第二段解释了指定选项的区别。

相关内容