我创建了一个脚本,它将生成一个IP列表,然后将它们放在“ip- $ date.txt”的名称中。例如,ip-20130619.txt。明天它将是ip-20130620.txt
现在我需要创建另一个脚本,它将最新的ip- $ date文件与旧文件进行比较,并做两件事: 1.不在旧日期文件中的IP,我需要生成一个列表 2.旧日期文件中的IP,但不再在较新的日期文件中,我需要生成另一个列表。
我一直在尝试使用Diff命令,但我不认为它可以区分上述两种情况。只返回合并,无法判断哪一个是哪个。
请问专家给我一些指示?
非常感谢!
答案 0 :(得分:3)
我会建议:
comm <(sort oldfile) <(sort newfile)
(或者如果文件已经排序,只需comm oldfile newfile
)。这将显示仅在第一列中的oldfile
中的行,仅在第二列中的newfile
中,并且在第三列中均为公共行。由于您似乎并不关心第三列,因此可以将其更改为comm -3 ....
以省略该列。如果您不想按列解析输出,则可以comm -23 ....
仅获取第一列,comm -13 ....
仅获取第二列,但显然需要两次调用... < / p>