Автор: Skelt Nov 6 2008, 17:20
Вообщем есть довольно большой текстовый файл (400mb), нужно его прочитать, перемешать в нем строчки и сохранить назад...
То бишь например текст:
1
2
3
перемешать в:
1
3
2
Скриптом не получается Нет ли у кого подобной проги (хотябы консольной)?
Заранее спасибо!
Автор: Amp Nov 6 2008, 17:41
Как именно перемешиваются строки важно?
Автор: Skelt Nov 6 2008, 17:46
Цитата(Amp @ Nov 6 2008, 17:41)
Как именно перемешиваются строки важно?
в рандомном порядке. но форматирование исходного текста нужно сохранить (символ переноса строки в конце каждой строчки)
например текст 123 можно перемешать как угодно: 132, 312, 213.., но в столбик)
Автор: Amp Nov 6 2008, 17:54
Читать сэмплами, например, по 1000 строк, порождать случайную перестановку, в соответствии с этой перестановкой записывать перемешанные сэмплы из строк в файл. Проблема лишь в том, что случайность будет лишь в пределах блоков по 1000 строк. Но повторные прогоны алгоритма на выходных данных с увеличенным в 2-3 раза размером сэмпла решат эту проблему. В чем проблема написание этого?
Автор: Skelt Nov 6 2008, 18:05
Цитата(Amp @ Nov 6 2008, 17:54)
Читать сэмплами, например, по 1000 строк, порождать случайную перестановку, в соответствии с этой перестановкой записывать перемешанные сэмплы из строк в файл. Проблема лишь в том, что случайность будет лишь в пределах блоков по 1000 строк. Но повторные прогоны алгоритма на выходных данных с увеличенным в 2-3 раза размером сэмпла решат эту проблему. В чем проблема написание этого?
если бы не было проблем я бы не спрашивал
обычно такие простенькие проги есть в арсенале почти каждого кодера. расчитывал что кто-нить поделится... в гугле найти не получилось((
p.s проблему решил, тему можно закрывать...