2013-07-08 9 views
0

У меня есть три файла Excel (на самом деле, csv-файлы, поэтому, если у вас есть решение без Excel, это тоже замечательно). Каждый файл представляет собой список адресов электронной почты.«set subtraction»

Я хочу, чтобы извлечь все письма из file1, которые не отображаются в файлах 2 и 3. значение: (file1 file2-) -file3

Единственное, что я мог думать о том, очень неприглядное решение: соединять все файлы, подсчитывая, сколько раз появляется каждое электронное письмо (http://office.microsoft.com/en-001/excel-help/count-how-often-a-value-occurs-HP001127779.aspx), , а затем отфильтровывайте все электронные письма с более чем 1 в счетчике (или не из файла1).

У кого-нибудь более элегантное решение?

ответ

0

Используйте LOOKUP в файле1 для поиска записей (a), присутствующих в файле2 и (b), присутствующих в файле3. Не оставляйте их.

0

Учитывая общие линии точные совпадения, я бы объединить file2 и file3 в скажем file23

Затем вы можете использовать Grep:

grep -vf file23 file1 > file0 

file0 будет иметь все строки в file1, которые не существуют в файле23