дедупликация строк в большом файле

Размер файла – 962 120 335 байт.

HP-UX ****** B.11.31 U ia64 ****** Лицензия на неограниченное количество пользователей

hostname> what /usr/bin/awk /usr/bin/awk: main.c $Date: 2009/02/17 15:25:17 $Revision: r11.31/1 PATCH_11.31 (PHCO_36132) run.c $Date: 2009/02/17 15:25:20 $Revision: r11.31/1 PATCH_11.31 (PHCO_36132) $Revision: @(#) awk R11.31_BL2010_0503_1 PATCH_11.31 PHCO_40052 hostname> what /usr/bin/sed /usr/bin/sed: sed0.c $Date: 2008/04/23 11:11:11 $Revision: r11.31/1 PATCH_11.31 (PHCO_38263) $Revision: @(#) sed R11.31_BL2008_1022_2 PATCH_11.31 PHCO_38263 hostname>perl -v This is perl, v5.8.8 built for IA64.ARCHREV_0-thread-multi hostname:> $ file /usr/bin/perl /usr/bin/perl: ELF-32 executable object file - IA64 hostname:> $ file /usr/bin/awk /usr/bin/awk: ELF-32 executable object file - IA64 hostname:> $ file /usr/bin/sed /usr/bin/sed: ELF-32 executable object file - IA64 

Здесь нет инструментов GNU.
Какие у меня варианты?

Как удалить повторяющиеся строки в большом текстовом файле с несколькими GB?

а также

http://en.wikipedia.org/wiki/External_sorting#External_merge_sort

 perl -ne 'print unless $seen{$_}++;' < file.merge > file.unique 

бросает

 Out of Memory! 

Полученный файл 960 МБ объединяется с файлами указанных ниже размеров, средний размер которых составляет 50 МБ 22900038, 24313871, 25609082, 18059622, 23678631, 32136363, 49294631, 61348150, 85237944, 70492586, 79842339, 72655093, 73474145, 82539534, 65101428, 57240031, 79481673, 539293, 38175881

Вопрос: Как выполнить сортировку внешнего сортировки и дедуплицировать эти данные? Или, как дедуплицировать эти данные?

  • Синонимы (из тезауруса) в Emacs
  • Редактирование RTF-файлов в текстовом режиме
  • Симметричная разностная труба?
  • Сортировка входного файла по результатам регулярного выражения
  • Составить список изображений с именем
  • Измените родительский процесс процесса?
  • Создание символических ссылок в каталоге etc без доступа root
  • 3 Solutions collect form web for “дедупликация строк в большом файле”

    Мне кажется, что процесс, который вы выполняете в данный момент, это то, что не удается с ошибкой вашей памяти:

    1. Создание нескольких файлов данных
    2. Объедините их вместе
    3. Сортировка результата, отбрасывание повторяющихся записей (строк)

    Я думаю, что вы должны выполнить следующий процесс

    1. Создание нескольких файлов данных
    2. Сортируйте каждый, отбрасывая дубликаты ( sort -u )
    3. Объедините полученный набор файлов данных, отбросив дубликаты ( sort -m -u )

    Конечно, нет инструментов GNU / Linux: что является частью системы управления исходными кодами (SCCS), которая, как мне кажется, вообще не существует в Linux.

    Итак, предположительно вы находитесь в Unix. Там алгоритм сортировки способен справиться с этими проблемами: Алгоритмические данные команды UNIX Sort указывают, что ввод размера M с памятью размера N подразделяется на куски M / N, которые вписываются в память и которые обрабатываются после этого.

    Он должен соответствовать законопроекту.

     % perl -ne 'if ( $seen{$_}++ ) { $count++ ; if ($count > 1000000) { $seen = () ; $count = 0 ; } } else { print ; }' <eof a a a b c a a a b c eof a b c % 
    Interesting Posts

    В чем разница между рекурсивной проверкой зависимостей и проверкой обратной зависимости?

    Файл системы Systemd Synergy

    Почему мой 3TB-диск показывает фактический размер ~ 800 ГБ с несколькими инструментами, кроме интеллектуальных инструментов?

    Как работает команда neppand?

    источник нескольких файлов и вывод одного файла

    Выполнение нескольких команд bash на выходе find

    Как написать скрипт bash, который отправляет графическое уведомление всем X-дисплеям пользователей?

    Что не так с этой командой `zip` для создания многосегментного архива?

    Не удается избавиться от вывода x11vnc

    Есть ли какой-либо инструмент для настройки прокси-сервера с файлом pac?

    Debian не может монтировать раздел или внешний hd

    kubuntu 16.04: мои значки в панели продолжают исчезать после обновления

    На petalinux lsmod не работает

    Скопировать права доступа к файлам от пользователя к группе

    Получение новых файлов для наследования групповых разрешений для Linux

    Linux и Unix - лучшая ОС в мире.