Textmate:从更大的列表中删除电子邮件地址列表

Textmate: Remove a list of email addresses from a larger list

这感觉应该很简单,但我一直找不到任何方法来完成它。

我在一个文本文件中有一个超过 10,000 个电子邮件地址的列表。我有另一个更短的 100 多个地址列表,我需要从原始列表中删除。问题是,每个要删除的地址之间有未知数量的地址。

我想知道:有没有办法从主列表中删除这个地址列表,而无需对 100 多个地址中的每一个单独执行 find/replace?

如果我是你,我会使用其中之一

  1. Python(或任何语言)
  2. Excel

Python: 把大文件A变成list_A,把小文件B变成list_B 然后通过 list_A 进行循环:如果 list_A 的元素存在于 list_B 中,将其踢出。

Excel: 将文件A粘贴到A列,文件B粘贴到B列。然后是C列,使用公式"countif"显示B列中是否存在A的任何元素。

您可以使用 google sheets 通过几个简单的步骤来识别两个不同列表中的唯一值。请找到下面的演示。

第 1 步: 创建一个 google sheet 并粘贴输入,如下所示。

第 2 步: 使用加载项的菜单选择删除重复的加载项(如果默认情况下没有,您可以选择获取加载项。 . 并将其添加到您的菜单中)

第 3 步:Select 输入和输出列范围。 第一个列表:

第二个列表:

第 4 步:选择数据类型作为唯一值。

第 5 步:选择过滤器选项以添加或忽略区分大小写。

第 6 步:选择输出选项(我已经包含了第三列用于演示)。

第 7 步: 唯一值将在指定目标中过滤,如下所示。

使用 grep:

grep -Fxvf smallfile mainfile

它将打印只有主文件中没有小文件中的行。