Просмотр полной версии : нужна ваша помощь!
AviatorDaisy
06.08.2009, 16:12
Нужно написать программу или скрипт!
Чтобы убирала повротные строки в тхт документе
111"№дэ
111"№дэ
111"№дэ
нужно,чтобы в готовом варианте оставалась только одна строка!
Софт должен работать достаточно быстро
Отрабатывать надо по несколько лямов строк за раз,чтобы система при этом не висла
Ещё фукция
Ввёл символы и софт оставляет только те строки в которых содержатся эти символы!
Пример : ввожу №
111"вадэ
111"89дэ
111"№дэ
оставляет только 111"№дэ
Аська на аватаре!
http://ru.php.net/manual/en/function.array-unique.php
$text='111"№дэ
111"№дэ
111"№дэ
131"№дэ
111"№дэ
161"№дэ';
$array=explode("\r\n",$text);
$array_nodubl=array_unique($array);
$finish_text= implode("\r\n", $array_nodubl);
echo $finish_text;
Есть готовые.Хоть Raptor :)
Есть готовые.Хоть Raptor :)
тут проще написать чем готовые искать
AviatorDaisy
06.08.2009, 16:47
Есть готовые.Хоть Raptor :)
Ссылочку скинь плз,если не затруднит
AviatorDaisy
06.08.2009, 16:48
нужно что-то удобное,желательно десктоп
MaikTeeMan
06.08.2009, 16:53
Когда-то давно тоже нужен был 8)
<?php
#Вот этот скрипт очень шустро удаляет просто дубли.
$file="1.txt";
$_file=file($file);
$_file=array_values(array_unique($_file));
$fp=fopen($file,"w+");
for($i=0;$i<count($_file);$i++)
{
flush();
fputs($fp,$_file[$i]);
}
echo "done<br>"; flush();
fclose($fp);
?>
Pashkela
06.08.2009, 16:57
Возьмите словарь на два гига и вы сразу поймете, что все ваши проги - фуфло с дикими ограничениями
нельзя невкоем случа все данные из файла переносить в ОЗУ, ибо как сказал Pashkela
взять файл на 2гаги и плакали вы со своими 1г ОЗУ.
Можно например брать строчку из исходного файла, проверять нетли ее в выходном файле, если нет то писать туда. Но миллионная строчка будет в худшем случа сравниваться 99999 строчками в выходном файле... короче факториал будет у вас, время работы такова приложение будет O(n)=n! где n число сточек в исходном файле. Зато ограничения на оперативку и входной файл нету. Ничего более умней придумать несмог.
Выкладываем свои идеи. Думаю если найдеться хороший алгоритм, многие его закодят, ибо полезная штука будет.
ErrorNeo
06.08.2009, 22:56
cupper - в теории это работает, на практике - слишком медленно.
Гиговый файл будет обрабатываться несколько лет.
Это если на Си писать. Если на пыхе то несколько десятков лет xD
Если кому-то реально нужно удаление дублей из многогиговых файлов - стукните в аську - скину свою прогу на делфи.
Работает немного через жопу - потому что лень доделывать, но 5 гигабайт текстовиков превращает в один гиговый текстовик без дублей за 10-15 часов.
Писал для себя и друзей для объединения и создания мегсловарей под брут.
Хотя, прямо скажем, не думаю, что она кому-то особо нужна.
ErrorNeo
06.08.2009, 23:30
800+ строк кода.
http://cs4116.vkontakte.ru/g10796561/a_93784ded.jpg
картинка примерно отображает суть алгоритма.
минихайд 500+ на сурсы, прогу кину любому кому реально нужна.
Ни плюсоф нифига ненадо, просто в паблик кидать желания нет)
Слишком долго я с ней *ался)
А все равно знаю, что почти никто не заценит.
да мне не прога нужна, мне алгоритм интересен. Хоть 10000 строк кода, в основе все равно должен лежать какойто алгоритм. А из исходников я наврядли смогу что либо понять, так что мне их ненадо
mailbrush
07.08.2009, 13:28
Хм.. Аж самому интерестно стало :) Через часик попробуй написать.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot