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

Размер файла – 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
  • Симметричная разностная труба?
  • Создание символических ссылок в каталоге etc без доступа root
  • Сортировка входного файла по результатам регулярного выражения
  • Измените родительский процесс процесса?
  • Редактирование RTF-файлов в текстовом режиме
  • Составить список изображений с именем
  • 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

    Ubuntu 16.04.1: Kernel panic – не синхронизация: Попытка убить init!

    Как работает NAT-рефлекс (NAT loopback)?

    Как проверить, имеет ли диск действительный «GPT» с `sgdisk`?

    Запускать / останавливать пользовательский блок всякий раз, когда устройство монтируется / размонтируется

    Прогнозирование командной строки

    Почему я получаю сообщение «Не удается подключиться к демону Docker», когда демон работает?

    Не удалось имитировать Ctrl + Shift + Fn + F10. Нажмите клавишу \

    Безвозмездный пакет ARP не отправляется, даже если «arp_notify» в sysctl установлен на 1 на OpenWRT

    Ошибка HTTP-запроса после прослушивания на нескольких портах или после включения модуля SSL на моей плате Linux

    gnome-terminal bengali unicode chars нарушает, не демонстрируя отлично

    Возможно ли, что APT примет «недействительный» сертификат?

    «INIT: перезагрузка версии 2.86» – причина и исправление?

    Время в httpd

    Как написать сценарий systemd, который запускает usb_modeswitch и подключается к Интернету при запуске?

    Необычно большой значок, созданный ImageMagick

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