Предположим, у меня есть два файла main.txt
и sub.txt
. Предположим, что оба файла имеют уникальные строки, т.е. одна и та же строка текста не встречается дважды ни в одном файле. Также предположим, что в обоих файлах нет пустых строк. Теперь рассмотрим файлы как наборы строк, где каждый член набора встречается в строке. Это возможно из-за нашего условия уникальности. Теперь предположим, что sub.txt
является подмножеством main.txt
таким образом. Как мы вычисляем разницу в наборах main.txt
и sub.txt
, чтобы создать новый файл diff.txt
? Для ясности, строк в diff.txt должны быть теми, которые встречаются в main.txt, но не в sub.txt. В diff.txt не должно быть пустых строк. Порядок в diff.txt не имеет значения.
Пример
main.txt:
Hello
World
How
You
Are
sub.txt:
World
Hello
diff.txt :
How
Are
You
Бонусные вопросы
- Как я могу сказать, что один набор на самом деле является подмножеством другого? Это предположение в вопросе, но на практике мы не можем знать это наверняка и хотели бы иметь способ проверить это автоматически.
- Как я могу определить, действительно ли строки в каждом файле уникальны?
- Как узнать, нет ли пустых строк?