删除其他文件中不包含的所有行

Remove all lines does not contain in other file

我的文件 A 'Emails' 有很多电子邮件,文件 B 'Domain' 有很多域

示例文件 A 'Emails ':

ctv@ymail.com
kfi@aol.in
hi@axus.cc
0@gmail.com
igp@yahoo.com
encor@mail2.com
cjang@mail.com
vn@gmail.com
87@gmail.com
ee@maoyt.com

示例文件 B 'Domain'

@gmail.com
@yahoo.com

我的预期结果:

0@gmail.com
igp@yahoo.com
vn@gmail.com
87@gmail.com

有没有办法处理 emeditor 中的 2 个文件。非常感谢

也许这会对你有所帮助:

模式:.*@gmail.com|.*@yahoo.com

Match groups:
Match 1
1.  0@gmail.com
Match 2
1.  igp@yahoo.com
Match 3
1.  vn@gmail.com
Match 4
1.  87@gmail.com

https://rubular.com/r/M3MVSoRj6qnSbl

我建议使用加入 CSV 功能。如果您的域少于 10 个左右,@Abimanyu 的正则表达式方法可能会起作用。不仅如此,处理数据可能需要一段时间。

要准备要加入的文档,请右键单击 CSV/Sort 工具栏并编辑 User-defined 分隔格式以使用 @ 作为分隔符。

现在,在文件 A 和文件 B 上,将 CSV 模式更改为 User-defined 分隔。在 CSV/Sort 工具栏上,有一个名为 "Join CSV" 的按钮。

加入 CSV 选项:

  • 确保 selected
  • 的文件正确
  • 关键列是电子邮件域列
  • 在底部的列表中,select 输出列,应该是文件 A 中的第 1 列和第 2 列

按“立即加入”按钮,将 CSV 模式更改为普通模式,您将获得如下所示的输出:

0@gmail.com
igp@yahoo.com
vn@gmail.com
87@gmail.com