Сравнить несколько сотен текстовых файлов и удалить в них дубликаты строк

Тема в разделе "Perl, Python, Ruby", создана пользователем silmarion, 26 сен 2014.

  1. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Доброй всем ночи, не знаю в тот ли я раздел написал, если что заранее прошу прощения.

    В общем есть несколько сотен текстовых файлов, от 10 до 100мб в общем порядка 20гб.
    Нужно их сравнить построчно, и удалить дубликаты строк.
    Возможно ли это?
    Если да то как?
     
  2. Anton

    Anton ¯\_(ツ)_/¯

    Moderator
    Регистр.:
    28 авг 2007
    Сообщения:
    646
    Симпатии:
    637
    textpipe сможет.
     
  3. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    А можно поподробнее?
     
  4. CAPAXA

    CAPAXA

    Регистр.:
    7 июн 2007
    Сообщения:
    896
    Симпатии:
    535
    Можно сделать "финт ушами". Взять и записать каждую строку в БД используя это https://www.nulled.cc/threads/255532/page-2#post-2325503
    И потом уже спокойно делать выборку из БД по n-кило строк и писать в файлы.
     
  5. Anton

    Anton ¯\_(ツ)_/¯

    Moderator
    Регистр.:
    28 авг 2007
    Сообщения:
    646
    Симпатии:
    637
    Поиск юзать, не умеем?)

    https://www.nulled.cc/threads/8222/ и дрругие темы.

    А как сделать это с помощью textpipe это в другой топик.
     
  6. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Поиском пользоваться умею, textpipe установлен, 9,5 версия
    там есть поиск дубликатов в файлах, ищет внутри 1 файла, делает он это все очень медленно (у меня батник делает это в 100 раз быстрее)
    а мне нужно сравнить несколько файлов
     
  7. Anton

    Anton ¯\_(ツ)_/¯

    Moderator
    Регистр.:
    28 авг 2007
    Сообщения:
    646
    Симпатии:
    637
    если медленно то тут или в компе или хз где проблема. Я им обрабатывал файлы по 20-50 гигов.
     
  8. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Медленно как медленно, главная проблема в том, что мне нужно файлы между собой сравнивать, и оставлять их уже очищенные как есть
     
  9. ex3me0

    ex3me0 Писатель

    Регистр.:
    26 сен 2007
    Сообщения:
    8
    Симпатии:
    1
    А какие критерии для сравнения?
    Ну к примеру: имеем 10 файлов, берем первый файл, читаем из него все строки, удаляем строки из первого файла в остальных.
    Или: имеем 10 файлов, берем первый файл, читаем из него все строки, удаляем строки из первого файла в остальных, берем следующий, проводим те же манипуляции, потом следующий и т.д.
     
  10. RORC

    RORC

    Регистр.:
    14 июн 2013
    Сообщения:
    171
    Симпатии:
    41
    Алгоритм 1. файлы в один объединить возможно? Если да, то решение примерно в 4-5 строк.

    Если нет, то алгоритм 2 брутфорса, на поиск строки в файле.

    Третий алгоритм, объединить в один файл, оставить только дубли строк, после найти эти строки в файлах и удалить их. В конец одного из них дописать удаленную строку.