• XSS.stack #1 – первый литературный журнал от юзеров форума

Нужен скрипт для удаления дубликатов из файлов больше 100ГБ

DrSleep

(L2) cache
Пользователь
Регистрация
10.01.2020
Сообщения
396
Реакции
304
Гарант сделки
1
В свободное время делаю словарики для брута всего подряд, насобирал пару файлов с размером больше 100ГБ.Стандартными средствами Linux почистить проблематично такой объем.Мб на пайтоне есть у кого скрипт для удаления дублей с таких больших файлов, буду признателен.Спасибо.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
В свободное время делаю словарики для брута всего подряд, насобирал пару файлов с размером больше 100ГБ.Стандартными средствами Linux почистить проблематично такой объем.Мб на пайтоне есть у кого скрипт для удаления дублей с таких больших файлов, буду признателен.Спасибо.
Если sort -u не помогает то питон вообще лучше вообще не трогать, а так кстати я как раз изучаю rust и могу для тебя попробовать написать если хочешь.
 
То есть ты думаешь что нативные coreutils отсосут у какого-то питона? Если sort не справляется, то выход только один - разбиение по N строк и затем уже сортировать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
То есть ты думаешь что нативные coreutils отсосут у какого-то питона? Если sort не справляется, то выход только один - разбиение по N строк и затем уже сортировать.
Ну вообще надеюсь, все таки Раст хотя бы за счёт того что он компилируется, уже быстрее будет)), а вообще да считаю что расту это будет под силу
 
Пожалуйста, обратите внимание, что пользователь заблокирован
team_RX конечно справится, а каким алгоритмом ты будешь сортировать на расте?
А вот это пока что я хз, даже не думал, а реализаций мало ещё знаю
 
не думал
Давай я подумаю за тебя. Раз ты сам алгоритм не напишешь, можно вызвать встроенный дедупликатор

Код:
use std::fs::File;
use std::io::{prelude::*, BufReader};

fn main() {
    let file = File::open("worldlist.txt").unwrap();
    let buffer = BufReader::new(file);
    let mut worldlist: Vec<String> = buffer.lines().map(|line|line.unwrap()).collect();
    worldlist.dedup();
}
Казалось бы, что здесь может пойти не так?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Давай я подумаю за тебя. Раз ты сам алгоритм не напишешь, можно вызвать встроенный дедупликатор

Код:
use std::fs::File;
use std::io::{prelude::*, BufReader};

fn main() {
    let file = File::open("worldlist.txt").unwrap();
    let buffer = BufReader::new(file);
    let mut worldlist: Vec<String> = buffer.lines().map(|line|line.unwrap()).collect();
    worldlist.dedup();
}
Казалось бы, что здесь может пойти не так?
Я не понимаю что ты докопался до меня?)))
 
Я не понимаю что ты докопался до меня?)))
Да ты же первый написал мне, разве нет? Раст конечно справится, а вот мартышка за клавиатурой вряд ли.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Бл, я понял, ты 1 сообщение
Да ты же первый написал мне, разве нет? Раст конечно справится, а вот мартышка за клавиатурой вряд ли.

не мне писал, я думал ты с нечего на меня наехал))), ну сонный бывает, так что расходимся) ну и да сам мартышка
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Высокоуровневые средства языков весьма удобны, если вам надо по быстрому работать с файлами, считали файл 1 строкой и все. Но для огромных файлов нужно читать построчно или использовать маппинг, опять же по частям; т.к. очень врядли раст или питон или еще что выделит кусок памяти в 100 гиг и еще там что-то сможет сортировать.
 
Высокоуровневые средства языков весьма удобны, если вам надо по быстрому работать с файлами, считали файл 1 строкой и все. Но для огромных файлов нужно читать построчно или использовать маппинг, опять же по частям; т.к. очень врядли раст или питон или еще что выделит кусок памяти в 100 гиг и еще там что-то сможет сортировать.
В его случае только итерация, но скорость будет желать лучшего
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если sort -u не помогает
Он не может не помогать, и можно много больше 100 ГБ отсортировать. Лимитов нет, только размер диска и места для временных файлов.
Там надо хелп почитать в сложных случаях, отключить первую фазу и тп, не помню уже. Но отсоритрует и отдедупит все!
 
Да на диске места хватает.Пока скачал 2 словаря с weekpass 3a и dicassassin.
Добрый человек сделал
Код:
import glob,re

REGEXP = re.compile(r'^[\w\S]{5,22}$')

def fix_nulls(s):
    for line in s:
        yield line.replace('\0', ' ')
        
def generate(globs, joinf):
    files = glob.glob(globs)
    statistic = {}
    with open(joinf, 'w', encoding='utf-8', errors='ignore') as write_obj:
        for filename in files:
            with open(filename, 'r', encoding='utf-8', errors='ignore') as read_obj:
                for line in fix_nulls(read_obj):
                    line = line.strip('\n\r ')
                    if re.fullmatch(REGEXP, line):
                        write_obj.write(line+'\n')

generate('fromdir/*', 'out.txt')

Работает сутки, еще работает)От всякого шлака избавиться по регулярке
Код:
'^[\w\S]{5,22}$'
Словарь под NTLM заточить попробую, наврятли кто то больше 22 символов пароли юзает.
Потом что на выходе будет нужно будет объеденить с другими словарями по 1-80 гб, итоговый файл почистить от дублей и в тесты.МОжно конечно юзать правила в хэшкате.Но это скучно)Сделал маску кстати из слитых NTLM паролей дешифрованных.Заменя [a-z] на l [A-Z] на U и тд.ТОлько спецсимволы оставил которые оригинальные.Кто хочет может тестануть)
Код:
?u?l?l?l?l!?l?l
?l?d?d?l?d?l
?l?l@?l?l
?d?l?l?l?l?l?l?d?u
(?u?l?l?l?l?l?l)
?u?l?l?d?d?d?l?l?l
?l?l@?d?d
?l?l?l-?d?d?d?d?d
?l?l?l?d?l?l?l?l?l
?l?l?l?l@#?d?d?d?d
$?l?l?l?l?l?l?d
?d?d?d?u?l?l?d?d?d
?d?d?d?d?d?d!
?d?l?l?l?d?d?d?d
?u?l?u?u?u?u
?l?l?l?l?l?l?l!
?d?d?d
?l?l?l?l?u?u?u?d?d?d
?u?l?l?l
?u?l?d?d?d?d?d?d?d?d
?l?d?l?d?l?d
@?u?l?l?l?l?d?d?d?d
?l?l@?d?d?d?d
?u?l?l?l?l;?d?d?d?d
?u?d?d?d?d?u$
?u?d?l?l?l?l?d?d
?u?l?l?l?l?l?l!
?u?l?d?l?l?l?l?l
(<?l?l?l?l)
?d?d?l?l?l?l?d?d
?l?l?d?d?d$?l?l
?u?l?l?l@?u?l?l
?u?u?l?l@)?d?d
?l?l?u?l?l?l?l?l
?u?l?l?u?d?d?d?l
<?l?l?l-?d?d?d?d
?d?d?l?d?d?d?l?d?d?l
?u?l?l?l?l?l?l!#%%
?u?l?l?l?l,./!@#
?l?d
!?u?u?u?l?l?l?d
?u?d?l?l?l@
?d?l?l?l?d?d?l?l
?u?l?l?l?l
?u?d?l?d?l?d?d?d?d
?u?l?d?l?l?l?l
?d?l?l?l?l?l?l?l?u
?l?l?l
?l?l?l?l?l?l?d~
?u@?l?l?l?d?l?l
?u@$$?l?d?l?l!
?l?l?u!@#?d?d?d
?u?l?l?l?l?l?l?l?d$
?l?d?d?d?l?l?l
?l?u?u?d?u?l
?u?u?l?l?l?d?d
?u?u?d?d?d?d#
?d?l?d?l?d?l?d?l
?u?u?l?l?l?d?d?d?d
?u?u?d?d?l?l?l
?u?u?d?d?d?d$
?u?l?d?d?l?l
?u?l?l?l?u?d?d?d
?d?d?d?d?u?u?u?u
?u?l?d?d?l?d?l?l
?u?l?l?l?l?d?l?l
?l?l?l?d?d?d!@#
?u?l?l?d?d?l?l?l
?d?l?l?l?d?l?l?l
?d?l?l?l#?u?u?u
?u?d?l?d?l?d?l?d
?d?l?d?l?d?l?d?l!
?u?d?d?d?d?d?d?l
@?u?u?u?d?l?l?l
?l?d?l?d?l?d?l?d
!?u?u?u?d?l?l?l
?d?d?d?d?d?d?l?l
?l?l?l?l?l?d?d*
?d?d?d?d.?l?l?l?l
?d?d?d?d?l?l?l?l!
?u?u?u&?d?l?l?l
!?l?l?l?u?l?l?d
?l?l?l?l?d?d!!
?u?d?d?d?d?d?d!
?d?l?l?l?l?l?l?l
?d?u?l?l?l?l?l?l?l
!?u?l?l?l?l?l?l?l?d
?l?l?l?d?d?l?l?l
!@#?u?u?u?d?d?d?l?l?l
?l?l?l?l?d?d?d?d?d
?d?l?l?l@?u?u?u#
?d?l?l?l?l?l?l?d
?d?l?d?l?d?l
?d?l?l?l?l?l?l
?d?d?d?d
?u?u?u?u?u?u?u?u?d?d
?u?d?d?d?d
?u?u?u?u?u?u?u?u
?u?l?l?l?l?l?l?l!
?u?u
?l?d?l?d?l?d?l?d$
?l?d?d?d?d
?l?d?l?d?l?d!
?l?l?l?l?l?l.
?l?d?l?d?l?d!!
!@?l?l?l
?l?l?d?l?l?d
?d?d?d?u?u?u
?d?d?d?d-?d
?d?l?d!?u@
?d?d?d?l?l?l
?u?u-?d?d?d
@?l?l?l?l?l
?l-?l?l?l?l
?l?l@?d?d?d
?u?u?u?u?u?u
?u?l?l?l?l?l
?l?l?l?l?d
?l?u?l?d?d?d?d
!@?l?l?l?l?d
?u?u?u?u?u?u?u
?d?d?d?d?l?l?l
?d?d?d@?d?d?d
?l-?l?l?l?l?l
?u?d?l?u?d?u?l
?l?d?l?d?l?l?d
?l?l-?d?d?d?d
?l?l?l-?d?d?d
?l?l?l?l?l?l-
?l?l?l?l-?d?d
?d?d?d.?l?l?l
?u?u?u?u?u?d?d
?l?d?d?l?l?d?l
?u?l?l?d?d?d?d
?u?u?u?u?u?d
?u?l?l?l?l?d?d
?d?d?d?d?d*
?l?d?l?l?l$
?d?l?d?l
?u?d?d?d
?l?l?l?u?d?d?d?d
?l?l?l--?d?d?d
?l?l?l?l?l?d?l?d
?u?l?l?l?l?d?d$
?u?l?l@?d?d?d*
?l?l?l?d?d?d?d!
?d?d?d?u?l?d?d?d
?d?d?d?d.?l?l?l
?d?d?d?d?u?l?l?l
?d?d?d?l?l?l?l@
?l?d?d?d?d?d?d!
?d?d?d?l?l?d?d?d
!?u?u?u?d?l?l,
?d?l?d?l?d?l?d*
?l?l?l?l?d?l?l?l
?d?d?l?l?l?d?l?l
?u?d$?d?d?u?l*
+?u?u?u?d?l?l?l
?d?l?l?u?d?l?l?u
?l?d?l?l?l?l?d?l
?u?l?u?l?l?l?l?d
?d?l?l?l?l?l?d?d
?l.?l?l?l?l?l?l
?l?l?l?l?l-?d?d
@?l?l@?d?d?d?d
?l?l?l?l?l.?d?d
?u?l?d?l?l?l?d?l
?u?u?d?d?d?d?d?d
?u?u?l?l?d?d?d?d
?u?l?d?d?l?u?l?l
?u?l?l?l-+?d?d
?l?l?l?l?u?l?l?l
?l?l?l?l.?d?d?d
?l?l?l?l?l?l?l?d
?u?u?u?u?u?u?u?d
?l?u?d?d?d?d?d?d
?l-?d?d?d?d?d?d
?u?l?l?l?l?d?l?l@
*?l?l?l?l?l?l?l?d
?u?l@?d?d?d?d?d?d
?u?l?l?l@?d?d?d?d
?u?l?l?l?l?l.?d?d
?d?d?d?d?d?d?d?l?l
?d?d?d?d?d?d?u?l?l
?u?d?d?d?d?d?d?d?d
?u?l?l?l?l?l?l?l?l
?d?d?d?d@?u?u?u?u
?u?u?d?u?u?d?u?u?d
?d?d?d?l?l?l?l?l?l
?d?l?l?l!?u?u?u!
?d?l?l?l!?u?u?u?d
?d?l?l?l?d?l?l?l&
?l?l?d?d?d?d?d?d!
?d?l?d?l?d?l?d?l,
?l-?l?l?l?l?l?l?l
?u?l?l?l?l?l?l?d!
?l?l?l?l?l?l?d?d!
?u?l?l?l?d?d?d?d?d
?u?l?l?l?d?d?d?d.
?l?l?d?d?d?d?d?d?d
?d?d?d?d?d?d?d?d?l
?l?l?l?d?l?l?d?l?l
?d?d?d?d?l?l?l?l?l
?l?l?l?l?d?d?d?d.
?l?l?l?l?l@?d?d?d
?l?l?l?l@?l@?l?d
?l?l?l?l?d?d?d?d!
?l?l?l?d?d?d?d?d?d
?d?d?d?l?l?l?u?u?u
?l?d?d?d?d?d?d?d!
?l?d?d?d?d?d?d!!
?l?l?l?l?l?l?l?d?d
?l?l?l?d?d?d?d?d?d?d
?d?l?l?l!?u?u?u@@
?d?d?d?d?u?l?l?l?l?l
?u?l?l?l?l?l?l?d?d!
?u?l?l?d?d?d?d?d?d
?d?d?d?d?l?l?l?l?l?l
?l?l?l?l.?d?d?d?d?d
?d?l?d?l?d?l?d?l-[
?d?d?l?l?l?l?l?l?l?l
?u?l?l?l?l?l?l?l?l?d
?u?l?l?l?d?d?d?d?d?d
?l?l?l?l?l-?d?d?d?d
?d?d?d?d?d?d?d?d?d?l
?l?l?l?l?d?d#$%^
?d?d?d?d?d?d?d?d?d!
?l?l?l?l?l?l?l?l?d@
?d?d?d?l?l?l?l?l?l?l
?u?d?d?u?d?d?u?d?d?u
?l?l?l?l?d?d?d!@#
`?d?d?l?l?l?d?l?l?l
?l?l?l?l?l?d?d?d?d?d
?l?l?l?l?l?l?l?l?l?d
?d?d?d?d?l?l?l?l!@
?l?l?l?l?d?d?d?d?d?d
?d?l?d?l?d?l?d?l%?u
?d?l?d?l?d?l?d?l@@
?l?d?d?d?d?d?d?d?d?d
?l?l?l?l?l?l?l?d?d?d
?u?l?l?l?l?d?d?d?u?u
?l?l?l?l?l?l?l?l?d?d
?d?l?d?l?d?l?d?l?d?l
?d?l?d?l?d?l?d?l!!
?l?l?l?l?l?l?l?l?l?l
?d?l?d?l?d?l?d?l?d?l!
?d?l?d?l?d?l?d?l?d?l*
?u?l?l?l?l?l?l?l?d?d?d
?u@?l?l?l?d?l?l?d?d?d
?l?l?l?l?l?l?d?d?d?d
?d?d?d?d?d?d?d?d?d?l!
?l?l?l?l?l?d?d?d?d?d?d
?l?l?l?l?l?d?d?d?d?d!
?l?l?l?l?l?l?d?d?d?d?d
?l?d?d?d?d?d?d?d?d?d!
@@?d?d?d?d?d?d?d?d?d
?l?l?l?l?l?l?l?l?l?d!
?l?l?l?l?u?l?l?l?d?d?d
?l?l?l?l?d?d?d?d?d?d?d
?l?l?l?l?l?l?l?l?l?d?d
?u?l?l?l?l?l?l?l?l?l?l
?d?d?d?d?u?l?l?l?l?l?l
?l?l?l?l?l?l?l@?d?d?d
?u?l?l?l?l?l?l@?d?d?d
?l?l?l?l?l?l?l?l?l?l?l
?l?l?l?l?l?l?l?l?l?l?d
?u?l?l?l?l?l@?d?d?d
?d?d?d?d?d?l?l?l?l?l!@
!?u?u?u@?u?u?u?d?l?l?l
?d?l?l?l?d?l?l?l?d?l?l?l
!@#$?d?d?d?d?u?l?l?l
?u?l?l?l?l?l?l?d?d?d?d+
%?d?d?d?d?d?u?l?l?l?l?l
?d?l?l?l?d?l?l?l#?u?u?u
?d?l?l?l#?u?u?u%?u?u?u
#?u?u?u?l?l?l?d%?u?u?u
!?u?u?u?d?l?l?l?d?l?l?l
?l?l?l?l?l?l?l?d?d?d?d
?u?l?l?l@?d?d?d
?l-?l?l?l?l?l?l?l?l?l
?l?l?l?l?d?d?d?d
?u@?l?l?l?l?l?d
?d?d?d?l?l?l?l?l
?d?d?d?d?d?d?d?d
!?d?l?l?l?l?l?l?l
`?d?d?d?l?l?l?l?l?l?u?u?u
?d?d?d?d?u?u?u?u?l?l?l?l
?l?l?l?l?l?d?d?d?d?d?d?d
$?u?u?u?l?l?l?d^?u?u?u
?l?l?l?l?l?l?l-?l?l?l?l?l
?d?l?l?l?d?l?l?l?d?l?l?l!@#
?u?l?l?l?l?l?l?l@?d?d?d
?d?d?d?d?d?l?l
?d?d?d?d?l?l?l?l
?d?d?d?d?d?l?l?l
?d?d?l?d?d?d?d?d
?l?d?d?d?d?d?d?d
?d?d?d?l?d?d?d?d
?l?d?d?d?l?d?d?d
?l?d?d?d?d?l?d?d
?d?l?d?l?d?d?d?d
?d?d?d?l?l?d?l?d
?l?d?d?l?l?d?d?l
?d?l?l?d?d?d?d?l
?l?d?d?d?d?d?d?d?d
?l?d?d?d?d?d
?d?d?d?d?d?d?d?l
?d?d?d?d?d?d?u
?u?d?d?d?d?d
?d?d?d?u?d?d
?u?d?l?d?d?d?d
?u?d?d?d?d?d?d
?l?d?d?l?d?d?l
?l?l?d?d?d?d?d?d
?l?l?d?d?l?l
?l?l?l?d?l?l
?l?d?d?d?d?l
?l?d?d?d?d!
?d?d?d?d?d?u
?d?d?d?d?l%
?u?l?d?d?d?d?d
?l?d?d?d?d?d?d
?l?l?l?l?l?l?l?l?l?l?l?d?d?d
?u?d?d?d?d?d?d?l?d?d?d?d?d?d
?u?l?l?l?l?l?l?l?l?l?l?l?d?d
?d?d?l?d?d?d?d
?u@?l?l?l?d?l?l?d?d?d?d?d
?d?d?d?d?d?d?d?d?d?d
?d?l?d?l?d?l?d?l?d?l?d?l
?l?l?l?l?l?l?d?d?d?d?d?d
?d?d?d?d?d?d?d?d?d
?d?d?d?d?d?d?d?d?d?l?l?l
?l?l?l?l?l?l?l?l?l?l?l?l?l?l?l?l?l?l
?d?l?l?l?l?l?l?d#?u?u?u
?l?l?l?l?l?l?u?u?u!@#?d?d?d
&?u?u?u?d?l?l,?d?l?l.
?l?l?l?d?d?d?d?d?d?d?d?d
?l?l?l?l?l?l?l?l?l?d?d?d?d
?u@?l?l?l?d?l?l?d?d?d!
?d?d?d?d?u?l?l?l?l?l?l?l
?l?l?l?l?l?l?l?l?l?d?d?d
#?u?u?u?d?l?l?l?d?l?l?l
?d?l?l?l?d?l?l?l^?u?u?u
?d?d?d?d?d!?u?l?l?l?l?l
?d?d?d?d?l?l?l?l?l?l?l?l
?d?d?d?d?d?d?d?d?d?d?d?d
?d?l?l?l?d?l?l?l&?u?u?u
?d?d?d?d?d?d?l
?u?u?d?d?d?d
?l?l?l?l?d?d
?d?d?d?d?l?l
?l?l?d?d?d?d
?l?l?l?l?l?d
?u?u?u?u?d?d
?d?d?l?l?l?l
?u?l?l?d?d?d
?u?l@?d?d?d
?d?d?l?l?d?d
?d?d?u?u?d?d
?l?l?l?l!@
?u?l?d?d?d?d
?l?l?l?l$?d
?l-?d?d?d?d
?l?d?l?l?l?l
?l?l-?d?d?d
?l?l?l?l
?u?u?u?d?d?d
?u?d?u?u?u?u
?u?l?l?u?l?l
?u?u?u?l?l?l
?l?l?d?d
?u@$$?l?d?l?l
?u@?l?l?l?l?l?l?d
?u?l?l?l?l?l?d
?u?l?l?l?l?l?d!
?l?l?l?l?l?d?d?d?d
?u?l?l?l?l?l?l?d?d?d
?u?l?l?l?l?l?l?l?l?d?d
?l?l?l?l?l?l?l?l?d?d!
?l?l?l?l?l?l?d?d
?d?d?l?l?l?l?l?l
?d?d?d?d?d?d
?d?d?d?d?d
?u?l?l?l?l?l?l?l
?l?l?l?d?d
?u?l?l?u?d?d
?l?l?d?d?d?d?d
?l?l?l?d?d?d?d
?l?l?l?l?l?l?l?l?l
?u?l?l?l?l?l?d?d?d@
?u@?l?l?l?d?l?l?d
?u?l?l@?d?d?d?d?d
?l?l?l?d?d?d?d?d
?d?u?l?l?l?l?l?l?l*
?d?u?l?l?l?l?l?l?l?l?l*
?d?d?d?d?d?d?d
?d?d?d?d?d?l
?u?l?l?d
?u?l?l@?d?d?d?d
?u?l?l?d?d?d*/
?l?l?l@?d?d?d?d?d
?l?l?l?d?d?d?d#
?l@?l?l?l?d?l?l
?l?l?l?l?l?l?l?l@?d
?l?l?l?l?l?l?l?l?d
?u?l?l?l?l@?d?d?d
?d?d?d?d@?l?l?l?l
?d?d?d?d?d@?l?l?l?l
?u?l?l?l?l?l?l@?d?d
?u?l?l?l?l@?d?d?d?d
?u?l?l?l?l?l?l?l@?d?d
?l?l?l?l?l?l?l?l@?d?d?d
?l?l?l?l?l?l?l?d?d?d?d?d?d?d
?l?l?l?l?l?l?l?l@?d?d
?u?l?l?l?l?l?l?l?d?d?d?d
?u?l?l?l?l?l?d?d!
?u?l?l?d?d
?u?l?l?l?d?d?d
?u?l?l?l?l?l?l
?l?l?l?l?d?l?d
?l?l?l?l?l?l?d?d?d
?u?l?l?l?l?l?l?l?d!
?u?l?l?l?l?l?l?d
?u?l?l?l?l?d?d?d
?u?l?l?l?l!?d?d
?l?l?l?l?l@?l?l?d
?u?l?l?l?l?d?d?d?d
?u?l?l?l?l?l?l?l?l@?d
?l?l?l@?d?d?d?d
?u?l?l?l?l?l@?d?d
?u?l?l?l?d?d?d?d!
?u?l?l?l?l?d?d?d?d!
?l?l?l?d?d?d*
?u?l?l?l?l?l?l?l?d?d?d?d!
?u?l?l?l?l?l?l?l?l?d?d?d?d!
?l?l?l?l?l?l?l?l?d?d?d
?u?l?l?l!?d?d?d
?l?l?l?l?l?d!
?u?l?l?l?l?l?l?l@?d
?u?l?l?l?l?l?d?d?d?d!
?u?l?l?d?d?d?d?d
?d?d?d?d?u?l!
?u?l?l?d?d?d?d!
?u?l?l?l?l?l@?d?d?d?d
?u?l?l?l?l?l?l?d?d?d?d!
?l?l
?l?l?l?d?d?d
?u?l?l?l?l@?d?d
?l?l?l?l?l
?u?l?l?l?d?d
?l?l?l-?d?d
?l@?l?l?d
?l?l?l?l?l?l?l?l
?l?l?l?d
?u?l?d?d?d?d?d?d
?d?l?l?l@?u?u?u
?u@?l?l?l?l?l?l
?l?l?l?l@?d?d?d
?d?d?d?d?d?d?u?l
?u?l?l?l?l?l?d?d
?u?l?l?l?l?l?l?d?d
?u?l?l?l?l?l?l?l?d
?u@?l?l?l?d?l?l?d?d
?d?d?d$?u?l?l?l?l?l
?u?l?l?l?l?l?d?d?d?d
?l?l?l?l?l?l
?u?l?l?l?l?l?l?l?l?l?l?d
?u?l?l?l?l?l?l?d?d?d?d
?u?l?l?l?l?l?l?l?l?l?d?d
?u?l?l?l?l?l?l?l?d?d
?l?l?l?l?l?l?d
?u?l?l?l?d?d?d?d
?l?l?l?l?l?d?d
?l?l?l?l?d?d?d
?l?l?l?l?l?d?d?d
?l?l?l@?d?d?d
?u?l?l?l?l?l@
?u?l?l@?d?d?d
?l.?d?d?d
?l?l?l?l?l?l?l
?l?l?l?l?l?l?l?l?d?d?d?d
?u?l?l?l?l?l?d?d?d
?l?l?l?l?l?l?l?l@?d?d?d?d
 
Не поверите, но ЯП тут вобще не причем. Можно сделать хоть на bash\cmd, главное придумать алгоритм удаления дублей.
Если sort не справляеться попробуйте App.Merge / Тема, работает не идеально, но со всеми моими потребностями справляеться.
 
Мой скриптик отработал, на выходе 357ГБ получилось, примерно 12 ГБ отсеилось по регулярке.Буду держать вкурсе по итогу, мб залью словарь на общее дело если что дельное получится.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Софт легиона справиться с 100 Гб текста.
Просто в самому меню софта поставить птичку работа с большим размером файлов


 
Не поверите, но ЯП тут вобще не причем. Можно сделать хоть на bash\cmd, главное придумать алгоритм удаления дублей.
Если sort не справляеться попробуйте App.Merge / Тема, работает не идеально, но со всеми моими потребностями справляеться.
У тебя ссылка не на тот sort, вот https://github.com/coreutils/coreutils/blob/master/src/sort.c
 
Можно попробовать так.

Python:
import sys
import fileinput


path_to_file = r'your\path\to\file'

with fileinput.FileInput(path_to_file, inplace=True, backup='.bak', mode='rb') as file:
    seen = set()
    for line in file:
        if line not in seen:
            seen.add(line)
            sys.stdout.buffer.write(line)
    print('OK!')
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх