Удаление повторяющихся строк из текстового файла

Я обрабатываю большие текстовые файлы (~ 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.

Спасибо.

5
задан Pete W 9 February 2011 в 17:56
поделиться