[mdk-re] Re: [mdk-re] Такая прога -а как кусается!

cornet =?iso-8859-1?q?cornet_=CE=C1_zmail=2Eru?=
Вс Сен 16 22:47:00 MSD 2001


Sergei wrote:
> 
> 16 Сентябрь 2001 22:38, Вы написали:
> 
> > Да, тут все верно.
> > К сожалению, но могу проверить работу Вашего скрипта, но скажите, она
> > хоть как-то отрабатывает на каком-нибудь каталоге или уходит в себя?
> 
> Она в текущем каталоге создает файл results.txt, куда и заносит нашедшее.
> Прога работает, но в процессе работы по мере выдачи инфы в results.txt память
> медленно, но верно уходит.
> 
> > Так сходу некорректная конструкция:
> > ----
> > while ($file=<FILES>), однако в таком виде наоборот, Ваш цикл на
> > вызовется ни разу.
> > Вам надо (не меняя Ваши переменные)
> >
> > while (<FILES>) {
> > chomp;
> > $file = $_;
> > дальше по тексту.
> > ----
> 
> Попробую.
> 
> > Что Вы хотите от этой конструкции?
> > if ($file =~ /^\/.*:$/) {...}
> 
> Это отработка информации от ls: при вызове с параметрами -1aR она проходит
> каждый подкаталог, при этом каждый новый каталог начинается с "/", а
> заканчивается на ":". То есть отслеживаю вложения каталогов.

А не прощели использовать find вместо ls ??
Вы получите пути файлов от текущего каталога или корня (смотря
как вызвать) и к тому же вывод не будет забит именами каталогов,
будут только файлы. ИМХО, удобнее дал строку
@files=`find -type f $dir`;
и имеем в @files _все_ файлы под каталогом $dir, по одному файлу
в каждом элементе, причем там заведомо будут _только_ файлы и с
путями!
И ничего регэкспами гонять не надо, каталоги отслеживать :-)

-- 
******** FIRE & STEEL ********




Подробная информация о списке рассылки community