I wrote a program recently called Setdown что делает Набор операций с кли.
Он может выполнять заданные операции, написав определение аналогично тому, что можно было бы написать в Makefile:
someUnion: "file-1.txt" \/ "file-2.txt"
someIntersection: "file-1.txt" /\ "file-2.txt"
someDifference: someUnion - someIntersection
Его довольно прохладно, и вы должны проверить его. Я лично не рекомендую использовать специальные команды, которые не были созданы для задания для выполнения заданных операций. Это не сработает, когда вам действительно нужно выполнить множество заданий или если у вас есть какие-либо операции, которые зависят друг от друга. Не только это, но и настройка позволяют записывать операции набора, которые зависят от других операций набора!
Во всяком случае, я думаю, что это довольно круто, и вы должны полностью его проверить.
Примечание: Я думаю, что упрек гораздо лучше, чем комм просто потому, что упрек не требует, чтобы вы правильно сортировать ваши входы. Вместо этого Setdown будет сортировать ваши входы для вас, и он использует внешний вид. Таким образом, он может обрабатывать массивные файлы. Я считаю это важным преимуществом, потому что количество раз, которое я забыл сортировать файлы, которые я передал в комм, не подлежит подсчету.
Возможно, у вас есть все основания использовать однострочный интерфейс Unix, но подумали ли вы о написании сценария Perl или Python? Это может быть быстрее писать и читать и изменять. Python имеет встроенные функции на языке, поэтому в нескольких строках вы можете достичь того, что вы пытаетесь сделать здесь. – avpx
@avpx: вы правы. В Python это так же просто, как «.» .join (set (open («A.txt ')) - set (open (' B.txt '))) '. –
@Alok: Это очень хороший способ сделать это, конечно, короче того, что я написал. Престижность. – avpx