Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

PAUK-NET.RU - Бесплатный ADSL портал Чувашии _ Прикладное программирование _ Миксер текстовых файлов

Автор: Skelt Nov 6 2008, 17:20

Вообщем есть довольно большой текстовый файл (400mb), нужно его прочитать, перемешать в нем строчки и сохранить назад...
То бишь например текст:
1
2
3
перемешать в:
1
3
2
Скриптом не получается sad.gif Нет ли у кого подобной проги (хотябы консольной)?
Заранее спасибо!

Автор: 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 раза размером сэмпла решат эту проблему. В чем проблема написание этого?

если бы не было проблем я бы не спрашивал smile.gif обычно такие простенькие проги есть в арсенале почти каждого кодера. расчитывал что кто-нить поделится... в гугле найти не получилось((

p.s проблему решил, тему можно закрывать...

Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)