|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vladimir Volkov 2:5020/400 17 Mar 2003 21:46:17 To : Ruslan Sulemanov Subject : Re: Длинная строка -------------------------------------------------------------------------------- Доброе время суток, Ruslan. You wrote to Vladimir Volkov on Mon, 17 Mar 2003 08:37:33 +0300: RB>>>> И, кстати, как быть, если критерий поиска -- регексп? EB>>> `grep ...` VV>> Вряд ли. Строка в память не влезает, а аргументы grep'у надо VV>> куда-то положить. RS> а что надо находить в файле ? чем тот вариант не yстривает ? его RS> оптимизировать под yсловие и то что надо! Как идея - устраивает. Меня интересовало, нет ли более красивого способа, чем вручную читать по кусочкам и анализировать. RS> open(F,"bigfile.txt"); RS> seek(F,0,0); RS> while(read(F,$data,1024)) RS> { RS> $strs{$data}=1; # в хеше %strs подстроки по 1024 байт RS> # или RS> # push(@strs,$data); RS> # или RS> # $strts.=$data; RS> } # потом перебрать хеш, посклеевать RS> close(F); # где надо и искать Hастораживает, что по итогам этой операции все содержимое файла оказывается в памяти. Она может опять кончиться (проверить сейчас не могу, т.к. глюк наблюдался не на моем компе). RS> закинь в эхy полное yсловие задания ? Я думаю, не стоит. Во-первых, задание не совсем мое, так что всей специфики я не знаю; во-вторых, некоторые условия (в частности, предельные размеры файла и шаблона поиска) все еще уточняются. Спасибо за помощь. -- Vladimir Volkov, at your service. E-mail: vlad_volkov@vv.sovsem.net --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6027f15126b.html, оценка из 5, голосов 10
|