Проблема со сравнением 2 файлов с использованием SDIFF
У меня есть модуль, на котором я сейчас застрял. Я хотел бы обратиться к вам за помощью.
Допустим, у меня есть файл со следующими записями:
ABC 123... <- 1-й случай на основе значения столбца 1
CDE 456...
DEF 234...
ABC 234... <- база 2-го вхождения по значению столбца 1
и еще один файл с этими записями:
<-- missing 1st occurence
CDE 234...
DEF 456...
ABC 346... <- база 2-го вхождения по значению столбца 1
В настоящее время мне нужно сравнить оба файла и получить вывод о том, что 2-й случай отсутствует во 2-м файле. Первый этап задания завершен (я не уверен, что это правильный способ справиться с этим). Сначала я отсортировал оба файла на основе значений столбца 1. Затем я использую "sdiff -s" для сравнения обоих отсортированных файлов. Ограничение, которое я получил с этим подходом, состоит в том, что "отсортированный файл" содержит только столбец данных 1.
Например:
азбука
азбука
CDE
DEF
Это дало мне желаемый результат. Но проблема в том, что я не мог понять, какой случай ABC отсутствовал во втором файле. Если я использую "grep" в первой базе файлов по результату "sdiff -s", это даст мне 2 значения.
Может кто-нибудь пролить некоторое понимание этого?
Благодарю.
1 ответ
Как насчет
sdiff -s <(cut -d' ' -f1 file1) <(cut -d' ' -f1 file2)
(Полагаю, вам нужна bash версии 4+ для перенаправления процессов)