【发布时间】:2010-07-29 16:20:49
【问题描述】:
我有两个 IP 地址列表。我需要将它们合并到三个文件中,即交集,仅来自 list1 的文件和仅来自 list2 的文件。
我可以使用 awk/diff 或任何其他简单的 unix 命令来执行此操作吗?怎么样?
文件如下所示:
111.222.333.444
111.222.333.445
111.222.333.448
谢谢!
【问题讨论】:
我有两个 IP 地址列表。我需要将它们合并到三个文件中,即交集,仅来自 list1 的文件和仅来自 list2 的文件。
我可以使用 awk/diff 或任何其他简单的 unix 命令来执行此操作吗?怎么样?
文件如下所示:
111.222.333.444
111.222.333.445
111.222.333.448
谢谢!
【问题讨论】:
如果文件是排序的那么
join list1 list2
将输出交点。
join -v 1 list1 list2
只输出list1中的。
join -v 2 list1 list2
将只输出 list2 中的那些。
【讨论】:
首先对它们进行排序,使用sort,然后你可以使用comm。
路口:
comm -12 <file1> <file2>
仅列表 1:
comm -23 <file1> <file2>
仅列表 2
comm -13 <file1> <file2>
【讨论】: