Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   нужна ваша помощь! (https://forum.antichat.xyz/showthread.php?t=133307)

AviatorDaisy 06.08.2009 16:12

нужна ваша помощь!
 
Нужно написать программу или скрипт!
Чтобы убирала повротные строки в тхт документе
111"№дэ
111"№дэ
111"№дэ
нужно,чтобы в готовом варианте оставалась только одна строка!
Софт должен работать достаточно быстро
Отрабатывать надо по несколько лямов строк за раз,чтобы система при этом не висла
Ещё фукция
Ввёл символы и софт оставляет только те строки в которых содержатся эти символы!
Пример : ввожу №
111"вадэ
111"89дэ
111"№дэ

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

Аська на аватаре!

Sharky 06.08.2009 16:23

http://ru.php.net/manual/en/function.array-unique.php

rcc0023 06.08.2009 16:33

$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;

m0Hze 06.08.2009 16:38

Есть готовые.Хоть Raptor :)

Sharky 06.08.2009 16:45

Цитата:

Сообщение от m0Hze
Есть готовые.Хоть Raptor :)

тут проще написать чем готовые искать

AviatorDaisy 06.08.2009 16:47

Цитата:

Сообщение от m0Hze
Есть готовые.Хоть Raptor :)

Ссылочку скинь плз,если не затруднит

AviatorDaisy 06.08.2009 16:48

нужно что-то удобное,желательно десктоп

MaikTeeMan 06.08.2009 16:53

Когда-то давно тоже нужен был 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); 

?>


Pashkela 06.08.2009 16:57

Возьмите словарь на два гига и вы сразу поймете, что все ваши проги - фуфло с дикими ограничениями

cupper 06.08.2009 22:43

нельзя невкоем случа все данные из файла переносить в ОЗУ, ибо как сказал Pashkela
взять файл на 2гаги и плакали вы со своими 1г ОЗУ.
Можно например брать строчку из исходного файла, проверять нетли ее в выходном файле, если нет то писать туда. Но миллионная строчка будет в худшем случа сравниваться 99999 строчками в выходном файле... короче факториал будет у вас, время работы такова приложение будет O(n)=n! где n число сточек в исходном файле. Зато ограничения на оперативку и входной файл нету. Ничего более умней придумать несмог.
Выкладываем свои идеи. Думаю если найдеться хороший алгоритм, многие его закодят, ибо полезная штука будет.


Время: 19:54