Unix Diff命令比较2个文本文件之间的差异并生成更多命令

时间:2013-06-19 14:42:53

标签: linux shell unix diff

我创建了一个脚本,它将生成一个IP列表,然后将它们放在“ip- $ date.txt”的名称中。例如,ip-20130619.txt。明天它将是ip-20130620.txt

现在我需要创建另一个脚本,它将最新的ip- $ date文件与旧文件进行比较,并做两件事: 1.不在旧日期文件中的IP,我需要生成一个列表 2.旧日期文件中的IP,但不再在较新的日期文件中,我需要生成另一个列表。

我一直在尝试使用Diff命令,但我不认为它可以区分上述两种情况。只返回合并,无法判断哪一个是哪个。

请问专家给我一些指示?

非常感谢!

1 个答案:

答案 0 :(得分:3)

我会建议:

comm <(sort oldfile) <(sort newfile)

(或者如果文件已经排序,只需comm oldfile newfile)。这将显示仅在第一列中的oldfile中的行,仅在第二列中的newfile中,并且在第三列中均为公共行。由于您似乎并不关心第三列,因此可以将其更改为comm -3 ....以省略该列。如果您不想按列解析输出,则可以comm -23 ....仅获取第一列,comm -13 ....仅获取第二列,但显然需要两次调用... < / p>