Я обрабатываю большие текстовые файлы (~ 20 МБ), содержащие данные, разделенные линией.
Большинство записей данных дублируются, и я хочу удалить эти дубликаты, чтобы сохранить только одну копию.
Кроме того, чтобы немного усложнить задачу, некоторые записи повторяются с добавлением дополнительной информации. В этом случае мне нужно сохранить запись, содержащую дополнительную информацию, и удалить более старые версии.
например.
Мне нужно идти от этого:
BOB 123 1DB
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB EXTRA BITS
к этому:
JIM 456 3DB AX
DAVE 789 1DB
BOB 123 1DB EXTRA BITS
NB. окончательный заказ не имеет значения.
Какой эффективный способ сделать это?
Я могу использовать awk, python или любой стандартный инструмент командной строки linux.
Спасибо.