我过去曾尝试使用 linuxdiff
命令,但没有太多运气或耐心。我通常最终会使用像 DiffMerge 或 Kdiff 这样的 GUI 实用程序。
最近我开始diff
再次尝试通过 ssh 来比较远程系统上的文件,我发现这个-y / --side-by-side
选项非常有用,但我仍然觉得我没有充分利用这个实用程序。
所以我很好奇如何实现以下目标:
另外,我在谷歌搜索时没有找到很多好的例子,所以如果你有一些 linux-fu 的秘密来充分利用 diff,你能分享一下吗?我将主要比较基于文本的配置文件,但任何技巧和技巧都会很棒。
供参考- DiffMerge 实用程序可以轻松地通过颜色突出显示并排显示更改。顶部的图标允许您在“显示全部”、“显示差异”和“显示与上下文的差异”视图之间切换。在命令提示符下会喜欢这些功能。
ps:我还应该指出,我认为非常有用的另一个选项是我--suppress-common-lines
在这篇简洁易读的博客文章中了解到的。
没有特定的顺序:
meld
是一个非常好的 diff 程序,它执行非常好的差异和三向合并。git config --global merge.conflictstyle diff3
为您提供三路合并输出,以便与meld
.wdiff
是否有文字差异,如果有颜色就很好:wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...
diff
输出中的麻烦,我通常使用--ignore-all-space
( -w
) 选项diff-ignore-moved-lines
* 做它在标签上所说的。difff
* 可用于仅区分在给定字段中匹配的行。* 免责声明:我是作者,并开发了这些来帮助 CLI 和 GUI 差异和合并。