Удалить все строки, не содержащиеся в другом файле - PullRequest
0 голосов
/ 03 июля 2019

У меня есть файл 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«Домен»

@gmail.com
@yahoo.com

Мой ожидаемый результат:

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

есть ли способ сделать с 2 файлами в emeditor. Большое спасибо

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Я бы предложил использовать функцию Join CSV. Метод регулярных выражений @ Abimanyu может работать, если у вас менее 10 доменов. Более того, обработка данных может занять некоторое время.

Чтобы подготовить документ для присоединения, щелкните правой кнопкой мыши панель инструментов CSV / Sort и отредактируйте пользовательский разделенный формат, чтобы использовать @ в качестве разделителя.

Customize window

Теперь и для файла A, и для файла B измените режим CSV на Разделенный пользователем. На панели инструментов CSV / Сортировка есть кнопка «Присоединиться к CSV».

Join CSV window

Присоединиться к CSV опции:

  • Убедитесь, что выбраны правильные документы
  • Ключевой столбец - столбцы домена электронной почты
  • В списке внизу выберите выходные столбцы, которые должны быть столбцами 1 и 2 из файла A

Нажмите кнопку «Присоединиться сейчас», переключите режим CSV в обычный режим, и вы получите вывод, который выглядит следующим образом:

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

0 голосов
/ 03 июля 2019

Может быть, это вам поможет:

Шаблон: .*@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

...