нужна ваша помощь!

Discussion in 'PHP' started by AviatorDaisy, 6 Aug 2009.

  1. AviatorDaisy

    AviatorDaisy New Member

    Joined:
    5 Jul 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Нужно написать программу или скрипт!
    Чтобы убирала повротные строки в тхт документе
    111"№дэ
    111"№дэ
    111"№дэ
    нужно,чтобы в готовом варианте оставалась только одна строка!
    Софт должен работать достаточно быстро
    Отрабатывать надо по несколько лямов строк за раз,чтобы система при этом не висла
    Ещё фукция
    Ввёл символы и софт оставляет только те строки в которых содержатся эти символы!
    Пример : ввожу №
    111"вадэ
    111"89дэ
    111"№дэ

    оставляет только 111"№дэ

    Аська на аватаре!
     
  2. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    http://ru.php.net/manual/en/function.array-unique.php
     
  3. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    $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;
     
  4. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    тут проще написать чем готовые искать
     
  5. AviatorDaisy

    AviatorDaisy New Member

    Joined:
    5 Jul 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Ссылочку скинь плз,если не затруднит
     
  6. AviatorDaisy

    AviatorDaisy New Member

    Joined:
    5 Jul 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    нужно что-то удобное,желательно десктоп
     
  7. MaikTeeMan

    MaikTeeMan New Member

    Joined:
    13 Jan 2009
    Messages:
    5
    Likes Received:
    3
    Reputations:
    0
    Когда-то давно тоже нужен был 8)
    PHP:
    <?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); 

    ?>
     
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Возьмите словарь на два гига и вы сразу поймете, что все ваши проги - фуфло с дикими ограничениями
     
  9. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    нельзя невкоем случа все данные из файла переносить в ОЗУ, ибо как сказал Pashkela
    взять файл на 2гаги и плакали вы со своими 1г ОЗУ.
    Можно например брать строчку из исходного файла, проверять нетли ее в выходном файле, если нет то писать туда. Но миллионная строчка будет в худшем случа сравниваться 99999 строчками в выходном файле... короче факториал будет у вас, время работы такова приложение будет O(n)=n! где n число сточек в исходном файле. Зато ограничения на оперативку и входной файл нету. Ничего более умней придумать несмог.
    Выкладываем свои идеи. Думаю если найдеться хороший алгоритм, многие его закодят, ибо полезная штука будет.
     
  10. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    923
    Likes Received:
    838
    Reputations:
    402
    cupper - в теории это работает, на практике - слишком медленно.
    Гиговый файл будет обрабатываться несколько лет.
    Это если на Си писать. Если на пыхе то несколько десятков лет xD

    Если кому-то реально нужно удаление дублей из многогиговых файлов - стукните в аську - скину свою прогу на делфи.
    Работает немного через жопу - потому что лень доделывать, но 5 гигабайт текстовиков превращает в один гиговый текстовик без дублей за 10-15 часов.

    Писал для себя и друзей для объединения и создания мегсловарей под брут.
    Хотя, прямо скажем, не думаю, что она кому-то особо нужна.
     
  11. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    алгоритм ?
     
  12. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    923
    Likes Received:
    838
    Reputations:
    402
    800+ строк кода.
    [​IMG]

    картинка примерно отображает суть алгоритма.
    минихайд 500+ на сурсы, прогу кину любому кому реально нужна.
    Ни плюсоф нифига ненадо, просто в паблик кидать желания нет)
    Слишком долго я с ней *ался)
    А все равно знаю, что почти никто не заценит.
     
  13. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    да мне не прога нужна, мне алгоритм интересен. Хоть 10000 строк кода, в основе все равно должен лежать какойто алгоритм. А из исходников я наврядли смогу что либо понять, так что мне их ненадо
     
  14. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Хм.. Аж самому интерестно стало :) Через часик попробуй написать.