WinMerge:如何忽略比较中的特定单词?

时间:2011-03-29 08:38:13

标签: winmerge

当我在Windows平台上将2个文件与WinMerge进行比较时,你知道我怎么能忽略特定的单词?

我的意思是我想对WinMerge说:“不要关心那些单词:房子,花园等等。”

比较这两行时的情况:

the house is at london

&安培;

the bus is at london

然后没有区别会显示,因为我不关心房子这个词......

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我知道这已经有一段时间了,但是由于这在搜索这个主题时显示为最佳匹配,我以为我会添加它......

据我所知,WinMerge STILL并没有直接拥有此功能。您有2个选择:
1)为WinMerge编写自己的插件。如果你想投入时间,似乎可以做你想做的事 2)获取Meld。它包括使用正则表达式ignore the parts of a line进行比较的能力。例如,如果你只是把" word"在文本过滤器首选项中,它将忽略" word"并比较该行的所有其他部分。我用它来比较Linux中的dmesg日志,忽略开头的计时器字段" ^ [。*?]" (忽略初始括号之间的所有内容,非贪婪)。

答案 1 :(得分:1)

在winmerge 2.16(至少)(2020-05)中,您可以使用菜单插件>插件设置...

单击PrediffLineFilter.sct,然后单击“插件设置...”按钮,在相应列中选中“使用RegExp”复选框。在“查找内容”列中,指定一个正则表达式,并将“替换为”单元格保留为空。关闭此插件配置窗口。然后,在“插件”>“ Prediffer”菜单中,选择“ PrediffLineFilter.sct”。

然后您可以使用菜单插件> Prediffer>不使用Prediffer(正常)关闭此过滤器插件。

答案 2 :(得分:0)

我正在寻找类似的东西,所以这可能对你有所帮助:

WinMerge不允许过滤部分行。如果线路过滤器匹配,则忽略整行。有关线路过滤器的说明,请参阅http://manual.winmerge.org/Filters.html

因此,如果除了单词bus和house之外还有其他区别,那么该行也将被忽略。