2

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

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

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

各位高手能给我指点一下吗?

非常感谢!

4

1 回答 1

3

我建议这样做:

comm <(sort oldfile) <(sort newfile)

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

于 2013-06-19T15:12:10.797 回答