Fast tool for removing duplicate lines

LINUX

Duplicut

A very fast tool for removing duplicate lines from a file without sorting it.

Quick start:

git clone https://github.com/nil0x42/duplicut
cd duplicut
make
./duplicut wordlist.txt -l 255 -o wordlist-output-no-dupe.txt

 
Overview
While building statictically optimized wordlists for password cracking purposes, i have needed to remove all duplicates quickly, even if the wordlist

While creating wordlists of passwords from different sources, i frequently need to remove duplicates quickly, even on huge wordlists, without changing the order.

That is how duplicut was born.

Usage: duplicut [OPTION]... [INFILE] -o [OUTFILE]
Remove duplicate lines from INFILE without sorting.

Options:
-o, --outfile <FILE>       Write result to <FILE>
-t, --threads <NUM>        Max threads to use (default max)
-m, --memlimit <VALUE>     Limit max used memory (default max)
-l, --line-max-size <NUM>  Max line size (default 14)
-p, --printable            Filter ascii printable lines
-h, --help                 Display this help and exit
-v, --version              Output version information and exit

Example: duplicut wordlist.txt -o new-wordlist.txt

 

  • Features:
    • Handle huge wordlists, even those whose size exceeds available RAM.
    • Line max length based filtering (-l option).
    • Ascii printable chars based filtering (-p option).
    • Press any key to get program status.
  • Implementation:
    • Written in pure C code, designed to be fast.
    • Compressed hash map items on 64 bit platforms.
    • [TODO]: Multi threaded application.
    • [TODO]: Uses huge memory pages to increase performance.
  • Limitations:
    • Any line longer than 255 chars is ignored.
    • Heavily tested on Linux x64, mostly untested on other platforms.

Home Page

Download 51kb

ScrapeBox DupeRemove

dupe remove

ScrapeBox DupeRemove is a small, fast, lightweight and free tool that allows you to merge multiple text file URL lists in to one large file. Also it can remove duplicate URL’s and duplicate domains from files as large as 180 Million lines long in just a few seconds.

To merge files, click the “Select Source Files to Merge” button then highlight all the files you would like to merge. Then click the “Select Target Files” button and give your new merged file a name. Now simply click “Merge Files” and it’s done, all your files are merged in to one.

To remove duplicate URL’s or Domains from a text file, click the “Select Source File” button and select the text file you would like to remove duplicates from. Then click the “Select Target File” button, and give your new dupe free file a name. Now simply click “Remove Dup URL’s” or “Remove Dup Domains” and it’s done your duplicate free file will be saved.

The tool was designed to help manage ScrapeBox text files, however we are releasing it Free for anyone.

But other than that there’s no opt-in, so you will not have to divulge your email and put up with a barrage of spam emails, there’s no registration involved, the software never expires and it will always work and there’s no other catches what so ever. It’s also “portable” so you don’t have to install it and it doesn’t need .net framework, it will run on XP, Vista, Windows 7, Windows 8 and Windows 10 as well as Windows Server 2003/2008/2012.

Download 359kb

Home

Автоформат v4.3

Работа с программой

avtoformat
Вставьте текст из буфера обмена или наберите.

Перейдите на нужную вкладку:

«Автоформат» – получить отформатированный текст

«HTML» – получить отформатированный текст в формате HTML

В нижней части программа показывает статистику по активному тексту:

Строк – Количество строк в тексте. В скобках показано количество непустых строк

Слов – Количество слов в тексте. Цифры и числа – тоже слова. Отдельно стоящие знаки препинания – нет

Букв – Количество букв тексте. Считаются русские и латинские буквы

Знаков – Количество знаков без пробелов

С пробелами – Количество знаков с пробелами. В скобках показано количество знаков со всеми пробелами (двойными, тройными)

Цена – цена за текст без пробелов и с пробелами

РАБОЧИЕ ФУНКЦИИ

Меню URL:
Вставить URL из буфера – вставляется 1 или больше URL из буфера обмена. В каждой строчке 1 URL. В качестве анкора – строка. 1 анкор = 1 строка = 1 URL. При необходимости URLs перебираются.
Вставить анкоры из буфера – вставляется 1 или больше анкоров из буфера обмена. В каждой строчке 1 анкор. В качестве URL – строка. 1 анкор = 1 строка = 1 URL. При необходимости анкоры перебираются.
Оставить URLs – в тексте оставляется только URLs, остальное стирается

Оставить домен – оставляет только имя домена без папки и имени файла
Оставить домен с папкой – оставляет только имя домена без имени файла
Оставить имя файла – оставляет только имя файла
Добавить http – добавляет «http://» к каждой строчке, если его нет
Удалить http – удаляет «http://» из каждой строчки, если есть

Меню ФИО:
Оставить фамилию и инициалы – полное ФИО (Сидоров Иван Петрович) сокращаются до (Сидоров И.П.)
Оставить имя отчество – полное ФИО (Сидоров Иван Петрович) сокращаются до (Иван Петрович)
Склонить ФИО (кому) – полное ФИО (Сидоров Иван Петрович) склоняется (Сидорову Ивану Петровичу)
Заменить фамилию на «Уважаемый(ая)» – полное ФИО (Сидоров Иван Петрович) заменяется на (Уважаемый Иван Петрович)

Меню Сортировкановое!
Сортировать – текст сортируется по возрастанию
Сортировать зеркальные – сортируется по возрастанию текст зеркальных строк
Сортировать по длине – текст сортируется по возрастанию длины строки новое!
Перемешать – текст перемешивается – каждая строка меняется со случайной местами
Инвертировать – инвертировать список (поменять первую строку с последней и т.д.) новое!

Меню Сервис:
Обрезать пробелы – обрезать пробелы и табуляцию в началах и концах строк
Удалить двойные пробелы – удалить двойные, тройные и т.д. пробелы по всему тексту
Удалить пустые строки – пустые строки удаляются по всему тексту
Удалить дубли – удаляются полные дубликаты строк, одна из них остаётся. Проверьте, если в началах и концах строк лишние пробелы
Удалить все дубли – полностью удаляются дубликаты строк новое!
Удалить уникальные – удаляются только уникальные строки, дубли остаются. Каждого дубликата остаётся на один меньше. Чтобы оставить их по одному, выберите Удалить дубли
Разбить абзацы – каждый абзац разбивается на предложения указанной длины

TODO (планируется добавить):
! Импорт нескольких файлов – объединение
! Экспорт в несколько файлов – разделение
! Создание HTML оглавления для HTML файлов
! Превращение списка картинок в HTML код

Download 282kb

Home

Text Duplicate Killer

text duplicate killer
Text Duplicate Killer – программа, предназначенная для удаления из текста повторяющихся строк (не обязательно смежных). В результате создается новый текстовый файл, в котором каждая строка встречается только один раз.

Как найти дубликаты
1. У Вас должен быть готов файл формата ASCII, содержащий текст, в котором Вы хотите удалить дублирующиеся строки. Если Вам нужно обработать текст из файлов DOC или RTF, то экспортируйте его в ASCII.

2. После запуска утилиты tdk.exe выберите пункт меню Файл|Открыть исходный файл и укажите файл, в котором необходимо удалить дубликаты.

3. Затем с помощью пункта меню Файл|Задать целевой файл укажите имя нового файла. В этот файл утилита поместит обработанный текст, который уже не будет содержать дубликатов. Вы можете автоматически создать новое имя. Для этого нажмите кнопку с “волшебной палочкой”.

4. Для запуска процесса поиска и удаления дубликатов выберите пункт меню Операции|Убрать дубликаты!. В любой момент Вы можете прервать работу, нажав на кнопку Стоп, находящуюся в правом нижнем углу. При большом объеме текста обработка может занять некоторое время.

Имя целевого файла
Имя целевого файла можно создать автоматически, нажав на кнопку “волшебная палочка”. В автоматически созданном имени кодируются некоторые настройки.

Ниже приведены примеры:

Имя исходного файла: test.txt

Варианты автоматически создаваемого имени целевого файла:
test.txt.no_dupes_w_i.txt – конец строки формата Windows (CR/LF), игнорировать регистр
test.txt.no_dupes_u_i.txt – конец строки формата Unix (LF), игнорировать регистр
test.txt.no_dupes_w.txt – конец строки формата Windows (CR/LF), не игнорировать регистр
test.txt.no_dupes_u.txt – конец строки формата Unix (LF), не игнорировать регистр

Внимание! В случае, если файл с целевым именем уже существует, он перезапишется без запроса.

Допустимые форматы файлов
Text Duplicate Killer корректно обрабатывает только текстовые файлы формата ASCII.

Чтобы обработать документы Microsoft Word и прочие файлы, имеющие сложную структуру, необходимо экспортировать их в формат ASCII.

Обработка любых двоичных файлов также недопустима.

Параметры командной строки
Формат параметров командной строки:

tdk.exe [/teol=w|u] [/ic+|-] [/ios+|-] [/h=1|2|3|4|5|6] [/so=desc|asc]
[/s=none|char|len|loc] [/in=] [/out=] | [/?]

Описание параметров:

/teol=w – установить для целевого файла конец строки в Windows-формате (#13#10)
/teol=u – установить для целевого файла конец строки в Unix-формате (#10)

/ic+ – игнорировать регистр (только для латинских букв!)
/ic- – учитывать регистр (только для латинских букв!)

/ios+ – игнорировать обрамляющие пробелы
/ios- – учитывать обрамляющие пробелы

/h=X – установить “степень” хеширования равной X символам. X = 1..6

/so=desc – установить для сортировки обратный порядок/по убыванию
/so=asc – установить для сортировки прямой порядок/по возрастанию

/s=none – без сортировки целевого текста
/s=loc – сортировка по национальному алфавиту
/s=char – сортировка по кодам символов
/s=len – сортировка по длине строки

/in= – имя исходного файла (ASCII)
/out= – имя нового файла. TDK создает этот файл на основе source, исключая повторяющиеся строки

/? – вывести справку по программе

Примеры:

tdk /in=file1.txt /out=file2.txt – удалить дубликаты из файла file1.txt и записать уникальные строки в файл file2.txt, используя текущие настройки программы.

tdk /ic+ /ios+ /so=asc /s=char /in=file1.txt /out=file2.txt

Примечания:

При запуске с параметрами
– если какой-либо параметр не указан, то используется его интерфейсная установка (см. файл tdk.ini)
– утилита автоматически начнет обработку и запись нового текста, а по завершении работы – закроется
– если исходный файл слишком большой, то найденные дубликаты не отображаются

Параметры нечувствительны к регистру.
Параметры должны отделяться друг от друга как минимум одним пробелом!
Не используйте пробелы в именах файлов
Настройки, установленные с помощью параметров командной строки, запоминаются.

Меню
Меню / Файл
Открыть исходный файл – Позволяет выбрать исходный файл (формата ASCII).
Задать целевой файл – Позволяет указать имя целевого файла, в который будут записываться уникальные строки из исходного файла. Тип конца строки (Unix/Windows) в целевом файле можно указать в опциях.

Меню / Вид
Хэш-данные – Эта опция позволяет включить отображение специфических сведений, например, скорость обработки.
Найденные дубликаты – Данная опция позволяет включить отображение окна с экземплярами найденных дубликатов. Например, если в тексте будет найдено 10 дубликатов одной строки, то каждый экземпляр добавиться в это окно. При обработке больших текстов рекомендуется отключать отображение этого окна, поскольку найденные дубликаты могут переполнить оперативную память.

Меню / Опции
Целевой EOL = CR/LF (Windows) – Установить в целевом файле конец строки как CR/LF.
Целевой EOL = LF (Unix) – Установить в целевом файле конец строки как LF.

Игнорировать регистр (латиница) – Данная опция указывает, что регистр латинских букв не учитывается. В этом случае, например, строки String, string и STRING будут рассматриваться как дубликаты.
Игнорировать ведущие и конечные пробелы – При сравнении строк не учитываются “обрамляющие” пробелы. Например, при включенной опции, строки “текст” и ” текст ” будут считаться дубликатами. Внимание: в целевом тексте пробелы не отсекаются!

Без сортировки целевого текста – Строки целевого текста не сортируются.
Сортировка по национальному алфавиту – Сортировка национальных символов происходит с учетом настроек языка в операционной системе Windows.
Сортировка по кодам символов – Сортировка основана на кодах символов (Latin-1, т.е. расширенный 8-битный ASCII-код).
Сортировка по длине строки – Строки сортируются по длине (включая пробелы).

Сортировать в прямом порядке/по возрастанию – В зависимости от выбранного типа сортировки опция указывает либо на прямой алфавитный порядок, либо на возрастающий порядок кодов или длины строки.
Сортировать в обратном порядке/по убыванию – Аналогично предыдущей опции.

Хэшировать по N символов – Сколько первых символов использовать для хэширования. Данная настройка важна только в том случае, если вы обрабатываете очень большие файлы, не помещающиеся в оперативную память. Хэш-индекс основан на ASCII-коде, поэтому при хэшировании по одному символу максимальное количество сегментов равно 255. При использовании двух символов количество сегментов становится равным 65536. Так как программа “скидывает” сегменты на жесткий диск, то увеличение количества сегментов может существенно снизить требования к оперативной памяти, хотя нагрузка на дисковую систему увелчивается (и скорость работы соответственно). Если вам понадобилось изменить эту настройку, то определить нужное значение можно экспериментально, но учтите, что для разных текстов эффективность обработки может сильно различаться. По умолчанию установлено 3 символа – это некий компромисс между скоростью работы и требованиями к ОЗУ.

Установить первоначальные настройки – Команда устанавливает “заводские” настройки (в том числе положение и размер формы).

Download 353kb

DupKill v. 0.2.4.24

DupKill

Удаляет повторы строк в текстовом файле, в то же время сортирует список по алфавиту. Также есть функция удалить повторы и оригиналом.
Download 250kb

naRedup

naRedup

Плюсы:
-быстрая работа
-удобное GUI
-сортировка выходного файла по алфавиту
-добавление файлов Drag&Drop’ом – “перетаскивание”
Минусы:
-сортировку не отключить
-добавленный файл не убрать из списка на обработку
-вылет при попытке выйти из программы, во время работы
-программа не работает с бинарными файлами
Download 88kb

App.Merge

Word-list merge and duplicate remover already done 2 word-lists which are nearly 2 GB each. It obviously trades the use of your local HD instead of memory but it does chunk the data in memory before flushing it to files on local HD which improves performance massively. You will need to make sure you have enough local HD space = SUM(all word-lists).

Processing files are sorted in: [BaseDirectory]\tmp

Finished file is not sorted properly but are sorted in 256 chunks, 00 to ff based on HEX value of plain-text.

Example:

passwords.txt
Original Size: 184 MB
Converted Size: 169 MB
Duplicates Removed: 28
Run-time: 129 seconds

Obviously we can merge multiple files but I’m just processing 1 file for the above example. Takes awhile but I’m working on improving it. Anyone interested in trying it, please see below:

Command format:

App.Merge.exe o=”output-file.txt” t=4 [options] … “word-list1.txt” “word-list2.lst” “directory1″ …

For a report analysis of a word-list:

App.Merge.exe r=”word-list1.txt”

Double-quotes required for path / file names which contain spaces. You can also specify directory paths if you wish to merge / sort whole directories.

o=[out-file] – Output file.
t=[threads] – Used to speed sorting up only.
c=[mem] – Used to control how much RAM memory to use in MB. Default is 1024. Capped at 3072.
min=[num] – Minimum word length. Default = 1
max=[num] – Maximum word length. Default = 4096.

Words containing control characters will be converted into the Hashcat HEX format: $HEX[…]

Download 10kb

Home

Duplicat Remover by teso

Duplicat Remover by teso

-Удаление дублей
-Разбивка
-Сортировка
-Единовременная обработка более чем одного файла
-Поддержка Drag and Drop – “перетаскивание”
-Поддерживает параметры командной строки (можно указать список файлов которые при запуске будут обработаны или выделить пачку файлов и перетащить на иконку с приложением)
-С кириллицей не работает

Download 92kb

Fast Duplicates Remover v0.1

Fast Duplicates Remover

Консольная программа.

1-ый способ: перетаскиваем файл в консольное окно и удаляем кавычки из пути к файлу. Жмём Enter.

2-ой способ: закидываем файл в папку с программой и пишем название файла (обязательно вместе с форматом файла) в консольном окне. Жмём Enter.
На выходе получаем файл Out.txt

Download 3kb