* nix: выполнить объединение / пересечение / разность списков

Иногда мне нужно сравнить два текстовых файла. Очевидно, что diff показывает различия, он также скрывает сходства, что является своего рода сутью.

Предположим, я хочу провести другие сравнения этих файлов: объединение наборов, пересечение и вычитание, рассматривая каждую строку как элемент в наборе.

Существуют ли аналогичные простые общие утилиты или однострочные утилиты, которые могут это сделать?


Примеры:

a.txt

john
mary

b.txt

adam
john

$> set_union a.txt b.txt
john
mary
adam

$> set_intersection a.txt b.txt
john

$> set_difference a.txt b.txt
mary
12
задан spraff 15 December 2011 в 13:03
поделиться