如何将 diff 传输到 Kompare 中?

如何将 diff 传输到 Kompare 中?

我想快速比较两个不同目录中的文件,看看文件是否相同(内容相同)。我想在 Kompare 中查看结果(我使用的是 KDE - Kubuntu 12.04)。

这是我的 diff 命令:

diff -EwbBsy /directory/one /directory/two

(如果该命令忽略 /directory/one 中尚未存在于 /directory/two 中的任何文件,那么它会更适合我,但我不知道如何实现这一点。)

要使用 Kompare,我这样做:

diff -EwbBsy /directory/one /directory/two | kompare -o -

但是,这会产生以下错误:

错误:无法解析 diff 输出。

我也尝试过:

diff -Ewbus /directory/one /directory/two | kompare -o -

并且只是

diff /directory/one /directory/two | kompare -o -

以及其他一些没有成功的变体。我究竟做错了什么?谢谢。

答案1

它似乎无法处理执行-y并排样式 diff 的开关,但您可以使用统一 diff ( -u)。您不能混合这两种样式,因此它是-y或 - u。所以这样做对我有用:

$ diff -EwbBsu /directory/one /directory/two | kompare -o -

默认情况下,这不会显示包含匹配项的整个文件,而只会显示不同的行,其中包含 3 行上下文。如果您想要更多上下文,您可以提供-u一个数字参数(u 10例如)。

$ diff -EwbBsU 10 /directory/one /directory/two | kompare -o -

相关内容