比较多个文件并打印相似性和差异

比较多个文件并打印相似性和差异

我有 61 个文件(文件名类似于 cutpathid-hca.txt、cutpathid-hey.txt、cutpathid-hpl.txt、cutpathid-hpyd.txt、cutpathid-hpz.txt),每个文件都包含如下列表,我想要比较它们并打印每个文件中的相似性和差异及其文件名。

00010
00020
00030
00040
00051
00052
00500
00520
00620
00630
00640
00650
00190
00680
00910
00920
00061
00071
00072
00121
00561
00564
00565
00592
01040
00230
00240
00250
00260
00270
00280
00290
00300
00310

输出应该看起来像

cutpathid-hca.txt、cutpathid-hey.txt、cutpathid-hpl.txt、cutpathid-hpyd.txt、cutpathid-hpz.txt 中的类似行

00010
00020
00030
00040
00051
00052
00500
00520
00620
00630
00640
00650
00190
00680
00910
00920
00061
00071
00072
00121

cutpathid-hca.txt 中的唯一行

00240 00250 00260

cutpathid-hpl.txt 中的唯一行

00290 00300

cutpathid-hpz.txt 中的唯一行

00051 00052

答案1

遗憾的是,标准diff一次仅支持两个文件。

您可以轻松安装扩散(它是一个 python 程序,因此它应该适用于每个“最近的”linux/bsd/*nix 发行版),看起来它可以一次比较 2 个以上的文件。

根据评论编辑

其实Diffuse就是一个GUI程序。我刚刚安装了它并用 3 个文件进行了快速测试。

命令是:

diffuse /tmp/file_1.txt /tmp/file_2.txt /tmp/file_3.txt

结果如下图所示:

漫射输出

相关内容