Вы можете просто использовать стандартный diff
инструмент с некоторыми сценариями.
Для двух файлов примеров, обычный diff
выводит:
4c4,6 < 1004, Erin --- > 1003, Dolores > 1004, Edward
В <
означает «линии удалены», то >
«линия добавлена». Просто отфильтруйте, >
чтобы получить все строки, которые находятся во втором файле, но не в первом:
$ diff a.csv b.csv |grep '>'|cut -c 3- 1003, Dolores 1004, Edward
( cut
часть снимает ведущий >
). Вы можете поместить это в сценарий.
Примечание: Выше предполагается, что вы имеете diff
, grep
и cut
установлен. Они стандартные в Linux и Mac OS X (я полагаю); для Windows вам понадобится Cygwin или аналог.